Host voices on ElevenLabs v4
Host narration and voice previews now use ElevenLabs' newest speech model, Eleven v4.
- New and regenerated narration is made with Eleven v4. Existing narration keeps playing as it is until a line is edited or regenerated.
- Voice previews are made with Eleven v4.
- Voice settings now show Stability, Similarity and Speaker boost. Style and Speed are no longer shown: Eleven v4 has neither.
Campaign reports show devices
Campaign reports now also break each day's delivery down by device, such as phones, computers, tablets and TV screens.
- Each campaign's daily views, clicks, cost and conversions are now also shown split by the device they were served on.
- Past days are filled in the next time a campaign's report is collected.
- The existing daily totals are unchanged.
Campaign reports show where ads ran
Campaign reports now break each day's delivery down by where the ads ran, such as YouTube, Discover or Gmail, so campaigns can be compared like for like.
- Each campaign's daily views, clicks, cost and conversions are now also shown split by where the ads were served.
- Past days are filled in the next time a campaign's report is collected.
- The existing daily totals are unchanged.
Campaign reports include new subscribers
Campaign reports now show how many YouTube channel subscriptions each campaign brought in, day by day, alongside views, clicks and cost.
- Each campaign's daily report now includes the channel subscriptions that followed its ads.
- Subscriptions are counted whether or not the campaign was set up to aim for them, so they no longer hide outside the conversions figure.
Saving clears narration for removed media
When you swap or remove media in an experience, saving the experience now removes the narration recorded for the media that left, so the narration badge no longer stays red after you save.
- Saving an experience removes narration clips for media or collections that are no longer in it.
- The narration badge returns to normal after that save instead of reporting a clip queued for removal again.
Voice library samples show when they are loading
Playing a voice from the voice library now pulses the play button until the sample starts, like every other play button, instead of showing the stop button straight away.
- Voice library play buttons pulse while a sample loads and turn to stop once it plays.
- Stopping a sample that is still loading no longer lets it start playing afterwards.
Waitlist consent and one-click unsubscribe
Joining the waitlist now asks for permission to email you when Harmonic Wave opens, and every waitlist email can carry a link to unsubscribe.
- The waitlist option on the contact form includes a box to agree to launch and update emails.
- A new unsubscribe page lets anyone on the waitlist stop these emails with one click.
- Unsubscribing covers every waitlist signup made with that email address.
Pausing an experience takes its host off air
You can now edit a host once every experience using them is paused or in Draft. A host stays locked only while an audience can reach them through a published or private experience.
- A host whose experiences are all paused or in Draft can be edited.
- A host on any published or private experience stays locked, as before.
- Unpausing re-voices the experience's narration, so listeners hear the updated host.
- The On Air note and hover now say to pause the experiences or move them to Draft.
Days with no ad delivery are recorded, and account deletion removes saved evidence
A campaign day with no delivery no longer leaves a gap that stops an experiment's results from being locked in. Deleting an account now also removes its saved evidence snapshots.
- Once a day has ended, a campaign day with no delivery is recorded as zero instead of missing.
- An unfinished or not-yet-collected day is never counted as zero.
- Deleting an account removes its saved evidence snapshots along with its experiment records.
- Experiment windows and report ranges are limited to one year.
Experiment reads wait for the full flight, and account deletion is complete
An experiment's results can no longer be locked in from only part of its run. Deleting an account now also removes its experiment plans and saved results.
- Locking in an experiment's evidence now requires results for every day of its run and lists any missing days.
- Deleting an account removes its experiment plans and saved results along with its other advertising records.
- Campaign and experiment messages no longer mention spending approvals that were retired earlier.
- Guidance when an earlier campaign switch-on could not be confirmed is clearer about checking the campaign first.
Older releases 226 versions
Campaign performance reports collect again
Collecting daily results for a live Google Ads campaign was failing because Google renamed one of the view metrics. Reports now collect impressions, clicks, cost, views and conversions again.
Link to this release ↗Upload boxes stay highlighted while you drag a file over them
When dragging a file onto an upload box, the highlight could switch off as the file passed over the box's icon or text. It now stays on for as long as the file is over the box.
Link to this release ↗Posters are protected the same way as banners
Saving an experience from a form that was opened before its poster existed could clear the poster. A save now keeps the stored poster unless you remove it yourself.
Link to this release ↗Generated banners are no longer lost when you save an experience
If an experience's banner finished generating while its edit form was open, saving the form could remove the banner. The banner is now kept, and it is only removed when you remove it yourself.
Link to this release ↗Standard Host voices play again
New voice clips for Standard Hosts, such as voice previews and fresh narration, were failing to generate after a change at our voice provider. They generate and play again. Placeholder labels on images still being created are now centered.
Link to this release ↗Campaign budgets are set in Google Ads, with no extra approval step
Switching a campaign on no longer needs a separate spending approval or monthly limit in Harmonic Wave. Each campaign's daily budget and dates are set in Google Ads, and Google keeps it within them. Campaigns can still be switched on one at a time, as a group, or at a set time, and each is still checked against its plan before it goes live.
Link to this release ↗Approve and switch on a whole group of campaigns in one step
Every campaign in an experiment or stage can now be approved in one step and scheduled to switch on in another, instead of one campaign at a time. The approved amount for each campaign is worked out automatically from its daily budget and dates, and the whole group must fit the month's spending limit or nothing is approved.
Link to this release ↗Lock an experiment's verdict so it can always be reproduced
All the evidence behind an experiment's verdict can now be frozen in one step: the viewer retention for every variation and the ad delivery figures it was scored on. Scoring from the freeze gives the same answer every time, even after the ad platform revises its numbers.
Link to this release ↗See each variation's delivery and spend in one place, and recognise campaigns by name
An experiment's delivery can now be collected and reviewed in one step, showing each variation's reach, views and spend with warnings for uneven delivery or overspend. Campaigns can carry a readable name alongside their reference. Experiment scoring now judges uneven delivery by reach against the true middle value, as the protocol specifies.
Link to this release ↗Choose what a campaign optimises for, and switch campaigns on at a set time
A campaign plan can now name the conversion goals it may optimise toward; goals with nothing to count are refused, and the live campaign is checked against them. Campaigns can be scheduled to switch on at a chosen time, with every check re-run at that moment.
Link to this release ↗Keep campaigns in step with changes made in Google Ads, and see what they optimise for
A change made to a prepared campaign's dates or budget in Google Ads can now be recorded as a new approved version once the live campaign is confirmed to match it exactly, so the campaign can be verified and managed again. A new view shows the conversion goals campaigns optimise toward, and flags a default goal that has nothing to count.
Link to this release ↗Safer experiment launches
Campaigns meant for an experiment must start on or after the experiment's first possible day, measured on the ad account's own calendar. A campaign, or an experiment, can't be started while any of its ads is still under review or not approved.
Link to this release ↗Agent tools accept structured settings sent as text
Tools that take a structured setting now also accept it when an agent sends it as text, provided it has exactly the expected shape. Anything else is still refused with a clear message.
Link to this release ↗Set how an experiment will be judged before it runs
An experiment's success measure and decision rules can now be recorded before launch: which video each variation is, the point in each video to measure from, the result that counts as a win, and how much evidence is needed. Once signed the record cannot change, and results are measured and judged directly from it.
Link to this release ↗Measure viewer retention at a point in the song, and lock the evidence
Retention for a video's paid viewers can now be read at chosen points measured from where its song starts, for example sixty seconds into the song, in a single request. The data behind a decision can then be locked, so later updates from YouTube cannot change a result that has already been read.
Link to this release ↗See every ad's review status in one place
The campaign view now shows each ad's review and approval status from Google, including any policy that limits or blocks it, with a count across the account. Before a launch you can see at a glance whether every ad has been approved.
Link to this release ↗Check a prepared campaign before it runs
A prepared, paused campaign can now be checked against its approved plan at any time, without starting it, and any setting that differs is named. Campaigns scheduled to start on the day they are created no longer read as a date mismatch.
Link to this release ↗See exactly which videos, campaigns and experiments you're working with
Syncing a channel's videos now shows each video's title, privacy and length, not just a count. Two new account views list every campaign and every experiment in the connected Google Ads account, including ones created directly in Google Ads, with each experiment's arms, traffic split and campaigns.
Link to this release ↗Compare up to four complete campaigns in one Google Ads experiment
A campaign experiment can now compare several complete campaigns that were each prepared and paused in advance, rather than only two versions of one campaign. Every campaign is checked against its approved plan before the experiment is created, before it is scheduled and again before anything is enabled, and what each one actually delivered is recorded separately.
Link to this release ↗Google Ads request references kept for support
Google's reference for each Google Ads request is now kept with checks, refusals and failed reads, so any issue can be raised with Google support precisely.
Link to this release ↗Google Ads experiment arms are confirmed from what Google can report
Google does not let applications read which video each experiment version swaps before the experiment is scheduled. Experiment arms are now confirmed from the details Google does report, and each version's video is confirmed on its own campaign once scheduled, before anything can be enabled.
Link to this release ↗Google Ads experiments read their arms the way Google allows
Experiment arm checks could not run because they asked Google for information it does not return. Arms are now checked using what Google does provide, and each test version's video is confirmed on its own campaign before anything can be enabled.
Link to this release ↗Clearer reasons when a Google Ads experiment step cannot read from Google
When an experiment step stops because Google would not return the information it needs, administrators now see which part of the request Google objected to, so the step can be corrected quickly.
Link to this release ↗Google Ads approval check recognises how Google stores audience targeting
Google Ads stores a campaign's audience targeting in an expanded form, which the pre-enable check was reading as a change. The check now recognises that exact form as the approved targeting, while still stopping any campaign whose targeting has really changed.
Link to this release ↗Clearer reasons when a Google Ads campaign no longer matches its approval
When a Google Ads campaign's targeting at Google differs from what was approved, administrators now see the targeting Google actually holds beside the refusal, so the difference can be understood instead of only named.
Link to this release ↗Fix for Google Ads location and language targeting
Google Ads video campaigns now set their country and language targeting where Google expects it for this campaign type, after Google's request check refused the previous placement. The targeting chosen is unchanged and is still confirmed before any campaign is enabled.
Link to this release ↗Fix for Google Ads campaigns with audience targeting
Google Ads campaigns that target audience interests were being rejected by Google when checked, because one targeting setting was sent in the wrong place. It is now sent and confirmed where Google expects it.
Link to this release ↗Clearer reasons when Google Ads refuses a request
When Google Ads refuses a campaign or experiment request, administrators now see which part of the request Google objected to, even when Google gives no error code. This makes a refused check quick to diagnose and correct.
Link to this release ↗Google Ads audience targeting for administrators
Administrators can now target Google Ads video campaigns by audience interests and include people whose age or gender Google cannot determine, so paid tests can keep the same audience as earlier promotions. Every targeting choice is checked with Google before it is used and confirmed again before anything is enabled.
Link to this release ↗Google Ads video experiments for administrators (preparation and checks)
Administrators can plan controlled Google Ads experiments that compare two to four versions of a YouTube video, check each step with Google before anything is created, and stop an experiment at any time. Nothing runs or spends without separate, explicit approval for every version being tested.
Link to this release ↗Connect Google Ads and choose an account for each YouTube channel
Settings now has a Google Ads tab next to YouTube, and each connected YouTube channel can be tied to one of your Google Ads accounts. Connecting a channel now asks for everything needed to upload, publish and read analytics in one approval.
Link to this release ↗YouTube promotion on Google Ads (preparation only)
Administrators can connect a Google Ads account and prepare YouTube promotions for review. Campaigns are prepared paused, and nothing can run or spend without a separate, explicit spend approval.
Link to this release ↗Private uploads to connected YouTube channels
Administrators can upload a finished video to a connected YouTube channel. Every upload starts private, and making a video public is a separate, deliberately approved step.
Link to this release ↗Record YouTube Studio figures beside automatic analytics
Figures that are only available in YouTube Studio, such as unique and returning viewers and promotion results, can now be recorded alongside automatically collected analytics, with a note of where and when they were read.
Link to this release ↗Stored YouTube analytics records are kept safe from routine cleanup
Routine storage cleanup could have removed the original records kept alongside collected YouTube analytics. Those records are now recognised and kept for as long as the analytics they belong to.
Link to this release ↗Video titles and links in YouTube analytics
YouTube analytics now show each video by its title with a link to watch it, instead of an unreadable video code.
Link to this release ↗Automatic YouTube report collection
YouTube reach reports for enrolled channels are now collected automatically every day, so channel history builds up without anyone remembering to fetch it. Each channel is enrolled deliberately, and collection for one account never holds up another.
Link to this release ↗Tidier administrative host tools
Browsing the host cast moves into the administrative pool reading tool, and creating a host now has a single dedicated tool. Nothing a host is or does has changed.
Link to this release ↗Fewer, clearer administrative YouTube tools
The administrative YouTube tools are reorganised into four: two for channel connections and two for data, each split into reading and changing. Nothing they do has changed.
Link to this release ↗Channel figures are kept as observations, not as a running total
Performance figures from a connected channel are now stored so they can be queried, with every reading kept exactly as it was received. YouTube revises figures for days afterwards, so a later correction never quietly rewrites what was seen at the time.
Link to this release ↗Asking a connected channel for figures on demand
Performance figures for a connected channel can now be requested directly for a date range, answered immediately, alongside the daily files collected in the background.
Link to this release ↗Reading back what has been collected, including what is missing
An administrator can read the report captures held for a creator, with a summary of which periods are present and which could not be collected. Reading never fetches anything.
Link to this release ↗Collecting channel reports, and removing them with the channel
The Platform can now download and keep the report files a connected channel produces, each recorded with what it measures and the period it covers. Disconnecting a channel or deleting an account removes those files.
Link to this release ↗Asking YouTube to start producing reach reports
An administrator can now see which standing report requests exist on a connected channel, and create one. YouTube produces nothing until such a request exists.
Link to this release ↗Finding out what a connected channel can report
Groundwork for channel reporting: the Platform can now ask a connected channel which performance reports it offers, before anything is collected.
Link to this release ↗Groundwork for connecting more than one service
Internal change with no difference to how the Platform behaves today. Connecting an account is now built as a shared mechanism with a small, well-defined part supplied per service, so a second service can be added without rebuilding the parts that keep credentials safe.
Link to this release ↗YouTube leads the Integrations tabs, and the control you click is the one that responds
YouTube is the first tab under Integrations, and starting a connection now shows its progress on the link or button actually clicked.
Link to this release ↗Connect a channel from the empty panel
When no channel is connected, the panel offers a connect link in the box itself rather than only in the header.
Link to this release ↗Dismiss the YouTube result message
The message shown after connecting or disconnecting a channel can be closed.
Link to this release ↗Connecting a channel no longer opens a second tab
Approving a channel at Google happens in the tab you are already in, and returns you to the same place, instead of leaving two dashboard tabs open.
Link to this release ↗Remove a disconnected channel from the list
A disconnected channel can be cleared from the list instead of waiting for it to age out, and an unconfirmed withdrawal of Google access is reported separately so clearing the record cannot hide it.
Link to this release ↗The channel list shows the spinner, not a line of text
While the YouTube channel list loads it shows the same spinning indicator used elsewhere in the dashboard.
Link to this release ↗The channel list uses the same loading indicator as everything else
While the YouTube channel list is loading it now shows the standard loading indicator used across the dashboard.
Link to this release ↗YouTube Channels
The heading on the YouTube panel in Integrations is capitalised.
Link to this release ↗Reconnect and Disconnect read as links
The two actions on a connected channel are plain links rather than buttons, so the channel row reads as one block instead of a row of controls.
Link to this release ↗The channel row puts its actions under the channel and its state on the right
Reconnect and Disconnect move beneath the channel identifier, the connection state moves to the right of the row, and the two panel buttons swap order.
Link to this release ↗The YouTube channel actions move up beside the heading
Connect a channel and Refresh list now sit to the right of the YouTube channels heading, and the note about Google approval reads as part of the introduction rather than as a separate line below the buttons.
Link to this release ↗The connected channel's picture is larger again
The channel picture on a connected YouTube channel goes to 64 pixels.
Link to this release ↗A connected channel's picture is larger
The channel picture on a connected YouTube channel is bigger, closer in height to the channel name and status beside it.
Link to this release ↗A connected channel shows its picture
The channel image on a connected YouTube channel was being blocked by the site's own content security policy and showed as a broken image.
Link to this release ↗The empty YouTube panel keeps its message centred inside a left-aligned box
Refines the previous change: the box sits at the left of the panel, and the icon and message stay centred within it.
Link to this release ↗The empty YouTube panel lines up with the rest of the panel
The message shown when no channel is connected starts at the same left edge as the heading, the buttons, and the text around it, instead of sitting centred in the middle of the panel.
Link to this release ↗The YouTube panel says what connecting a channel actually does
Connecting a channel no longer describes itself as publishing. The panel states that approval happens at Google, that a channel can be disconnected at any time, and that connecting does not authorize publishing.
Link to this release ↗The integration switch sits below the Settings tabs, not beside them
The ElevenLabs and YouTube switch in Integrations is now a small control of its own rather than a second row of tabs competing with the Settings tabs above it.
Link to this release ↗One integration at a time, and approval opens in its own tab
Integrations settings now separates ElevenLabs and YouTube into their own tabs, and starting a YouTube connection opens Google's approval screen in a new tab rather than replacing the dashboard.
Link to this release ↗A temporary shelf for files other services fetch
Files placed under temp/ in media storage are kept for seven days and then removed, instead of being swept as orphans within the hour.
Link to this release ↗Both pictures say they are coming
While a Host is being made, the Style card shows a shimmer on the lifestyle shot as well as the portrait.
Link to this release ↗Removing a Host puts it back on the shelf
Deleting your own Host returns it to the pool the same day instead of holding it for 60 days.
Link to this release ↗Songs know their chords
Song media gains a Chords attribute beside BPM and Key, and catalog picks arrive with all three filled in.
Link to this release ↗Modal buttons stand level
Cancel and its red sibling in confirmation dialogs now render at the same height.
Link to this release ↗Downgrading clears the branding it paid for
Custom branding is removed on downgrade rather than hidden. Re-upgrading returns the ability to set colours, not the colours.
Link to this release ↗Custom branding ends when the plan does
A custom theme set on Pro used to keep rendering after a downgrade. It now falls back to the Harmonic Wave defaults.
Link to this release ↗Translucent colours work, and the default border is #1C232B
A colour pasted as rgba() saved and then did nothing. It now works on every colour field, not just the border.
Link to this release ↗One set of brand colours, and the panel is it
The default colours were written in three places and two disagreed. The Branding panel's values are now the brand's, and the panel, the share page and the player all read them from one file.
Link to this release ↗A slow render is no longer timed out by earlier retries
The time limit on a talking-head render counted everything since the request was made, including failed attempts and the waits between them. A render that was proceeding normally could be abandoned because of time spent before it started. The limit now measures the render itself.
Link to this release ↗Talking-head renders name the uploaded file correctly
The uploaded source frame was referenced by the wrong label, so the provider rejected it. Corrected.
Link to this release ↗Talking-head renders send the files instead of linking to them
The first live render failed because the provider could not fetch the images it was pointed at, even though the links worked. The files are now sent directly, which removes the whole problem and means nothing has to stay reachable while a render is queued.
Link to this release ↗One place asks for an angle
Two parts of the dashboard built their own request for a new angle. They have been merged into one, so a fix cannot land on a path the button never takes.
Link to this release ↗The Signature set cannot appear in the set picker
The band was inventing a set from any job it saw queued, including one queued against the Host's press kit.
Link to this release ↗The Generate button sends the set it named
The dialog's Go button took a different code path than the one fixed in 0.11.427, and that path sent no set at all.
Link to this release ↗The set you picked is the set that gets shot
Choosing a set no longer expires. A background refresh was resetting the selection every twelve seconds, so an angle requested for one set could land in another.
Link to this release ↗Costly renders ask before they spend
A render could quietly replace a host's trained look, or run against a very long piece of narration, without anyone being asked. Both now stop and say what it would cost and what it would replace, and go ahead only once confirmed. A short first render is unchanged and asks nothing.
Link to this release ↗The voice you audition is the voice that narrates
The host preview and the saved narration built their voice direction slightly differently, so in principle you could audition one read and ship another. They now build it identically, and a check keeps them that way.
Link to this release ↗Editing a host's voice refreshes the narration that used it
Rewriting a host's accent or voice description changed the preview but not the narration already saved — the saved clips looked unchanged, because how a voice is directed was not something the check looked at. It is now, so the affected clips refresh on the next regeneration instead of quietly serving the old read.
Link to this release ↗Narration sounds like the host you auditioned
A host with an accent read their preview in that accent and then narrated the experience without it. The preview and the narration were built by different paths, and only one of them was passing along the description that tells the voice how to speak. Regenerated narration now carries it too.
Link to this release ↗Talking-head renders find the frame they were asked for
The frame picker looked for a naming style the stored images do not use, so it reported that a host had no usable frames when every one of them was there. It now matches what is actually stored, and never picks the empty-room plate that sits beside each angle.
Link to this release ↗Check on a single piece of generated work, not just the queue
The queue view answers whether everything is healthy, which is a different question from what your own request is doing. Work that takes several minutes looked identical to work that had quietly stalled. You can now ask about one job and get the step it is on, when it will next be picked up, and where the finished file went.
Link to this release ↗Narration audio is labelled with the format it actually is
Different voices record in different audio formats, but every narration clip was saved and served as though it were the same one. Players are forgiving enough that this mostly went unseen — anything that trusted the label rather than the file was being told the wrong thing. Clips now carry the format they were recorded in.
Link to this release ↗The SEO card shows the real share image without opening the panel
The SEO card kept showing the Harmonic Wave default until you opened the SEO panel, which made it look as though no share card existed. The card was fine; the editor asked for it once, before it had finished building, and never asked again.
Link to this release ↗Angle counts line up down the set picker
The counts were centred as whole phrases, so the numbers landed in a different spot on every row. The number and the word now hold their own columns and read straight down.
Link to this release ↗The set picker fits its angle counts
An eight-character count was enough to fold a set name onto two lines. The menu is wider, the name cannot wrap, and the counts sit centred in a column of their own.
Link to this release ↗The set picker says how many angles each set has
Choosing a set used to mean picking between a small plate and a number. Each row now says how many camera angles the set holds, which is the thing that actually makes one set a different choice from another.
Link to this release ↗Admin tooling for shooting a Host's sets and angles
Administrators can now shoot a new set, or add one more camera angle to an existing set, for any Host directly. Previously this could only be reached through an experience, so a Host in the shared pool could not be given a set at all.
Link to this release ↗The voice note points at plans, not at a key you do not have
The Text-to-Speech panel used to answer "want a custom voice?" with "add an ElevenLabs key", which only helps if you already have an ElevenLabs account. For everyone else it now points at the plans page, and it calls the included voice the standard one rather than the free one.
Link to this release ↗The set and angle waits match the Create Host layout
The dialog shown while a set or an angle is being made now uses the same arrangement as creating a Host: the turning steps first, then the progress bar, then the note about closing it. Each step is labelled with one word so the three sit level.
Link to this release ↗Shooting an angle shows its third step
The wait for a new camera angle now names all three pieces it is working through rather than stopping at two.
Link to this release ↗Waiting for a set or an angle shows what is being made
Building a set or shooting an angle now shows the same turning steps as creating a Host, naming each piece as it is worked on. The wording no longer suggests you come back to the dialog, because it closes itself and the set band takes over.
Link to this release ↗Set images are named landscape and portrait
Generated set images were filed under names that stated an exact resolution they did not actually have. They are named for the frame instead: landscape and portrait. Existing images keep their names and are unaffected.
Link to this release ↗Add Media by Link matches the catalog browser
The divider above the buttons in Add Media by Link stopped short at both sides while the same footer in the catalog browser ran the full width. They match now.
Link to this release ↗Generated images record their size
Generated artwork is now stored with its pixel dimensions, so the platform knows the real shape of every image it holds rather than assuming.
Link to this release ↗The waiting plates match the pictures that replace them
While a camera angle was being shot, the placeholder was a different width from the photograph that landed in its place, so the row shifted. They match now.
Link to this release ↗The Add Key dialog fits its content
Add Key was as wide as the dialogs that hold two cards, and its label field stopped short of the right edge. It is narrower now and the field runs the full width.
Link to this release ↗A Host keeps the same outfit across both frames of a shot
The landscape and portrait versions of the same camera angle could come back with different trousers. The whole outfit now carries between them.
Link to this release ↗The Add Key dialog looks like every other dialog
Add Key had no close button and a differently styled title. It now uses the same header as the rest of the dashboard's dialogs.
Link to this release ↗A camera angle shows itself being shot
Adding an angle to a set that was already finished left the set looking untouched until the shot landed minutes later. The new angle now appears straight away in its slot, focused, showing it is being made.
Link to this release ↗Dialogs behave the same way across the dashboard
Dialogs were sized, shown and hidden three different ways depending on which one you opened. They now share one behaviour. The Add Key dialog matches the button that opens it, and adding a camera angle no longer shows a working state on the music bed, which it does not touch.
Link to this release ↗Every dialog's buttons are the same size
Buttons in the generate dialogs were noticeably smaller than the ones in Create Host, because different dialogs were picking up different sizing. They all match now.
Link to this release ↗Fixed: an empty dialog stuck on the dashboard
A Generate Sets & Angles dialog appeared over the dashboard and would not go away. It is hidden until you open it.
Link to this release ↗The Generate dialog matches the rest of the dashboard
The set and angle picker now uses the same dialog as the other generate screens: the Host's name in a left-aligned title with a close button, the two cards side by side, and Cancel and Go in the bottom right.
Link to this release ↗Choosing what to generate is now a proper picker
The Generate dialog on the set band presents two cards, each with an icon and a short explanation of what it makes and roughly how long it takes. Pick one, then press Generate.
Link to this release ↗Generate asks whether you want a new set or a new angle
The Generate control on the set band now asks which you want: another room for your Host, or one more camera position inside the room you already have. Either choice shows a progress bar while it starts, and the band takes over from there.
Link to this release ↗The narration warning stays in its own row
In the narration panel the explicit-language warning appeared under the whole panel instead of inside the row it belonged to, and it stayed on screen after switching tabs. It now sits inside the row below the player, and goes away with the row.
Link to this release ↗Narration panel warns too, and failed saves say why
Editing a liner in the narration panel showed no explicit-language warning while typing. It does now. Separately, saves from that panel could fail on the server and still report success, and a failure that was reported gave a generic message instead of the reason. Both fixed.
Link to this release ↗The collection liner warns as you type too
A few fields were not showing the explicit-language warning while typing, including the collection Liner and the Host voice description. They were still refused on save, but nothing said so at the field. They warn now.
Link to this release ↗"Bloody" is fine too
The explicit-language check was refusing "bloody", which broke writing about real records. It no longer is.
Link to this release ↗"Hell" is fine to say on air
The explicit-language check was refusing "hell", which is ordinary broadcast speech and, on a music platform, catalogue as well. It no longer is.
Link to this release ↗Field warnings sit below the field
On fields that carry a button inside them, such as the Liner, the explicit-language warning appeared inside the field's border instead of below it, and the field showed no red outline. Both now match every other field.
Link to this release ↗Shorter, clearer messages that fit on screen
A long notification stretched across the whole window as one unbroken line. Notifications now wrap, and the explicit-language message is short enough to read at a glance: what is wrong, and where. An experience description is also no longer described as something a Host says, since nobody reads it aloud.
Link to this release ↗Explicit language is flagged as you type, everywhere public
The check used to happen only on save, so a field would accept a word and refuse it later, which read as being allowed. Fields now mark themselves as you type. The same check also covers public descriptions, bios and SEO text, not just narration. Lyrics, transcripts and titles are untouched.
Link to this release ↗Every Pro prompt offers a way to act on it
Some Pro feature prompts only had an OK button, leaving nothing to do about them. All of them now carry View Plans alongside OK, matching the limit dialogs.
Link to this release ↗Every media type's narration is covered
The explicit-language check missed the prose fields on Sound Effect and the four other-media types, which had no covered narration field at all. Every media type is now covered, and the coverage is checked automatically so a new type cannot arrive without it.
Link to this release ↗Hosts stay clean on air
Anything spoken aloud in a Host's voice -- liners, station IDs, sign-offs, the story before a track -- is now checked for explicit language when you save it, and refused with a message naming the word. Your media is unaffected: an explicit track is still explicit, and lyrics are never filtered.
Link to this release ↗Generating a set is a Pro feature
Building a new set for your Host now carries the same Pro badge and upgrade prompt as generating scripts. Free accounts see what the feature is and what it costs rather than a button that quietly fails.
Link to this release ↗The music bed keeps showing the set is still being made
A music bed is ready long before the rest of a set, so it sat there looking finished beside artwork that was still arriving, which read as a set that was done apart from some pictures. The bed now stays in the working state until the whole set is finished, and stays playable throughout.
Link to this release ↗A set being built says so in the set list too
In the dropdown you pick a set from, a set still being made showed a flat grey square, which reads as a set with no picture rather than one whose picture is on its way. It now shows the same working state the band does.
Link to this release ↗A new set appears the moment you ask for it
Pressing Generate left you looking at the set you already had until the first piece of the new one finished, which could be most of a minute of nothing appearing to happen. The new set now stands up straight away and shows each piece arriving in place.
Link to this release ↗The set band shows the set being built
While a set was being made the Generate control stopped spinning partway through and went back to looking pressable, and the band kept showing the set you already had. It now spins until the set is done, refuses a second press, names the active set in its heading, and lands on the set being built so you can watch it arrive.
Link to this release ↗The share-image slot shimmers across the whole slot
While a share card was being made, the working indicator on the slot rendered as a small square in the top-left corner instead of sweeping across it. It now covers the slot, matching every other slot that is waiting on artwork.
Link to this release ↗Finish says Finish
The last button in the setup flow read "Go to the final step", which described where the wizard was going rather than what you were doing. It says Finish, in both the first-run and create-an-experience flows.
Link to this release ↗Preview buttons and a clearer wait for new artwork
Starting a second preview while one was already playing left the new button looking inert, even though it was loading. It now shows the same working state as the first. On the dashboard home, a show whose artwork is still being made says so, instead of showing the stand-in image.
Link to this release ↗Only the song you picked stays selected
Stepping back to the host screen and forward again made every song in the shelf look selected. Only the one you chose is highlighted now.
Link to this release ↗Your host's picture shows while your experience is being built
On the final step of First Steps the host tile was blank while the song beside it showed its cover. The host's picture now shows throughout, using the same portrait you saw when you chose them.
Link to this release ↗Media opens as a grid
The media library now opens in grid view like experiences, collections and hosts, so covers are visible at a glance. If you have already switched it to list, that choice is remembered and nothing changes for you.
Link to this release ↗Preview plays on the first tap, and going back keeps your host
The preview button on a host card pulsed but stayed silent until you tapped it twice. Going back to change what you typed also threw away the host you had chosen and fetched a new set. Both are fixed, and the last button now says Done, because by then your experience is already built.
Link to this release ↗Asking for a particular host now gets you one
Say you want a female host, or a warm southern one, and that is the host you are offered first. Asking for a man could previously return a woman, because the genre you had already been matched on counted for more than anything else you said.
Link to this release ↗Hosts are matched on how they sound, and tapping one just selects them
Describe the host you want and we now match on each host's own voice and background, not only on the kind of show they present. Choosing a host no longer starts their voice playing: tap the card to choose, tap the play button to listen, the same way the song step works.
Link to this release ↗Hosts are offered in the order that fits what you asked for
Tell us about the kind of host you want and the music they will present, and the hosts you are shown are ordered by how well they match, rather than at random. The setup question now asks for both, because both are what the match is made on.
Link to this release ↗One line while we find your hosts, not three loaders
Finding hosts for your music is a quick lookup, so the step now says so once and gets out of the way. The rotating status messages and the second spinner underneath them were written for a slower version of this step that made artwork on the spot.
Link to this release ↗Choosing a host is instant now
Picking your host in First Steps no longer sits through several seconds of staged loading. That pacing existed to cover artwork being drawn; hosts already exist, so the step now moves as fast as the answer arrives. The host cards also show more of each host's description.
Link to this release ↗Your host is yours when you finish, not when you pass through
Choosing a host in First Steps no longer assigns one the moment you move to the next step. Nothing is set up until you finish, so you can go back and change your mind as many times as you like — and leaving partway through no longer leaves a host behind you never asked for. The host choices are now a swipe row that matches the song step.
Link to this release ↗Choosing your first host reads properly on a phone
The host cards in First Steps were three tall columns squeezed into a third of the width each. They now read like the song step on the same screen — a square portrait on the left, the name and description beside it, one host per row. The preview button gets its pulse and stop states back, and Back returns you to the music you described instead of to your name.
Link to this release ↗First Steps introduces you to the hosts who present your music
Describe the music you play and Harmonic Wave now works out the genre and brings out the hosts who already present it — each with their own look, personality and voice. Setting up your first host is a choice between real people rather than a request to have one made.
Link to this release ↗New hosts say their language, and the Host panel gets simpler
A host's voice description is written when the host is created, and it did not always say what language they speak — the one thing the voice tools most need to know. New hosts now state it. The Host panel also drops the generated poster and header gallery: those pictures are made for particular experiences, and a shared host appears in many, so the panel could only ever show part of the set.
Link to this release ↗Hosts speak English, and now they say so
A host with an accent could start a line in English and finish it in another language. Hosts speak English — that was always true, but nothing in the product said it, so nothing kept it true. Now every host records the language they speak, shows it, and the voice tools only offer voices that match.
Link to this release ↗Hosts stop sharing a wardrobe
Hosts of the same genre were turning up in the same outfit, because a genre had only two or three to draw from. Each host personality now has its own way of dressing, and in an experience the room they are in decides what they wear.
Link to this release ↗Every experience gets its own room
Experience banners were all being set in the same handful of places. Each genre has ten authored settings and only the first was ever used, so shows in the same genre kept coming back as the same room.
Link to this release ↗Faster Host creation
Creating a Host is quicker and less likely to time out. The personality filters now span the full width of the list, and a few requests that used to fail quietly now say what went wrong.
Link to this release ↗Hosts arrive with their voice
Every Host is now created with their voice already set, so the one you hear while choosing is the one that ships. Host personalities also show the accent they speak with, and the list can be filtered by it.
Link to this release ↗Set panel polish
The play button on the new Set panel was landing in the wrong corner, its music bed showed a heading instead of the genre, and the panel's dividers were not drawing.
Link to this release ↗An experience's artwork now belongs to the experience
The poster, banner and share card generated for an experience were being filed with your Host's identity images instead of with the experience itself — which also meant they were left behind when the experience was deleted. They now live with the experience and are removed with it. The experience form also gains a Set panel showing the room your Host is shot in and the music bed that plays under them.
Link to this release ↗Artwork appears as it finishes, without a refresh
The poster and banner were saved correctly but the experience form showed empty slots for them, and new artwork only appeared if you reloaded the browser. Both are fixed — the images render, and they now appear in place the moment each piece is ready. The share card's button also matches the experience: Watch Now where there is something to watch.
Link to this release ↗The experience poster no longer stalls before it starts
A new experience's poster could sit for nine minutes doing nothing before any work actually began. Saving the experience kicked off a small background task that accidentally picked up the poster and started generating it inside a request that was about to end, so the work was abandoned with nothing to show for it. Posters now start when they are meant to.
Link to this release ↗Host sets are shot in a room that suits the genre
A set's location was being built from the description of how a Host looks rather than from the genre they present, so most of them came back as the same nondescript studio. Every genre now draws on its own collection of locations, and a Host's second set is shot somewhere different from their first.
Link to this release ↗Artwork arrives in about a minute, and the share card shows your poster
A new experience's artwork could sit for ten minutes before anything happened, and the share card was composing with a blank space where the poster belongs. Both are fixed — the pieces now arrive in about a minute. Each new set is also shot somewhere different in your Host's world instead of reusing the same room, and its music bed is now written as a variation on the genre's reference track.
Link to this release ↗A proper page for paused experiences, and grid views by default
Opening the link to a paused experience showed a bare line of text on a white page, which read like something had broken. It now gets a real page that says the experience is paused and that the link still works. Pausing also now locks the Host the same way publishing does — pausing keeps your links alive, so a Host edited during a pause comes back sounding wrong to the same audience.
Link to this release ↗A quieter View experiences link
The link in the ON AIR message now matches the colour of the sentence it finishes rather than standing apart from it.
Link to this release ↗Jump straight to your experiences from a locked Host
The message on a Host who is ON AIR tells you to move their experiences to Draft, and now carries a View experiences link so you can go and do it in one click.
Link to this release ↗A tidier ON AIR badge and message
The ON AIR badge is back in the corner of a Host's card where it started, and the message explaining the lock is shorter. It no longer opens with the name of the experience — it tells you how many you need to move to Draft, which is the part you act on.
Link to this release ↗New experiences stay in Draft until their artwork is ready
Creating an experience used to hold you on a screen while its artwork was made, and could take a couple of minutes. You now land on your Experiences list straight away and watch each piece arrive. The experience stays in Draft until its poster, banner and share card are all finished, then publishes itself — so a problem partway through leaves you a draft to retry instead of a live experience with missing artwork.
Link to this release ↗Save Profile waits for an actual edit again
Opening a Host to look at them lit up Save Profile as though something had changed. It stays off until you edit something. Previewing a voice inside the Voice panel also no longer raises the player bar — the panel already names the Host and the voice — and the portrait slot has dropped its reassurance note.
Link to this release ↗Changing the Host no longer makes the song step jump
Picking a different Host reloads the curated songs for their genre, and the panel used to shrink and spring back while it did — moving the buttons under your cursor. It now holds its height and shows a loader in the space the songs are about to fill. Switching Hosts also closes any preview that was playing.
Link to this release ↗ON AIR — a Host presenting a live experience is read-only
When a Host is presenting an experience listeners can reach, they now carry an ON AIR badge and their profile is locked. Editing one mid-broadcast changed what those listeners heard and left their share cards showing the old name. Move the experience to Draft to make changes.
Link to this release ↗The waiting card matches the stage it is at
While your Host is being written the card says so; once the character is done and the pictures are coming, it says that instead. It used to cycle through both, so a card could claim it was writing the background minutes after that was finished.
Link to this release ↗The pool only offers Hosts it can hand over
Picking a ready-made Host could say one was available and then report it had just been claimed, with nobody else having taken it. The shelf now counts only Hosts it can actually deliver.
Link to this release ↗The waiting card says what is being made
While a new Host is being made, the card cycles through what is coming — style, voice, background — instead of holding the word Generating for the whole wait.
Link to this release ↗Personality cards all read the same
The first three personalities were larger and carried an icon, from when the rest were hidden behind Show more. With the whole list on screen that only made the others look like afterthoughts, so every card is now the same.
Link to this release ↗A Host is written for the person you picked
Your Host's heritage is now settled before their story is written, rather than being decided again while it is written. Same for the personality and gender you chose — what gets written is their name, style, voice and background.
Link to this release ↗Your Host arrives as the person on the card
The gender and heritage shown on a personality card are now the ones your Host is made with, and the ones their portrait is rendered from. They were being treated as a suggestion, so the card could say one thing and the Host turn up as another.
Link to this release ↗Every host personality at once, with filters
Choosing a host personality showed three and hid the rest behind Show more. All of them are on screen now, in one scrolling list, and you can narrow it by gender or heritage. The three suggested cards follow whatever you filter to.
Link to this release ↗Host personality cards say who they are cast as
Choosing a host personality now shows you the gender and heritage that personality is cast as, before we make them. The gender on the card is also the gender your Host arrives with — it used to be picked at random, so a card could say one thing and the Host turn up as another.
Link to this release ↗Choosing a host personality reads as what it is
When no ready-made Host is available you pick a personality and we make the host from it — the screen said you were choosing a host, which had not happened yet. The cards are back to their proper width too.
Link to this release ↗The enlarged Host photo is labelled Lifestyle
Enlarging a Host's main photo captioned it Poster. It now reads Lifestyle, matching what the same image is called on the Host's own page.
Link to this release ↗See both Host photos when choosing
Each ready-made Host card now shows their portrait alongside the main photo, with a magnifier to view either full size. On a phone the cards stack, so the photos are bigger than on a desktop.
Link to this release ↗Host cards are one size, and Spanish voices are available
The ready-made Host cards no longer change size depending on how many are available. Spanish-speaking voices are now supported alongside the English ones.
Link to this release ↗Host photos actually vary now
Every Host photo was coming back as the same shot — talking to camera with their hands up — no matter what the image was meant to show. The pose now follows what the photo is supposed to be.
Link to this release ↗Choosing a ready-made Host returns you to your Hosts
A ready-made Host is complete the moment you choose them, so you land back on your Hosts list instead of an edit form with nothing to fill in.
Link to this release ↗Fixed: the ready-made Host picker rendered broken
Host cards came apart on screen — the picture in one place, the name and description loose beside it. They render as proper cards again, three across and centred.
Link to this release ↗Host cards show the right picture, and play on demand
Ready-made Host cards now show the marketing image, play the voice only when you press play, and stay centred however many are available.
Link to this release ↗Ready-made Hosts show their face again
The cards for ready-made Hosts were showing a broken image and had lost the button that plays their voice. Both are back.
Link to this release ↗Choose a ready-made Host from the pool
Creating a Host now offers both roads properly: pick somebody who is ready right now, or build your own. A pooled Host arrives complete — nothing to wait for.
Link to this release ↗Create Host no longer closes on a stray click
Clicking beside the Create Host dialog used to close it, losing whatever you were part-way through. It now closes only from the X or Cancel.
Link to this release ↗The generating carousel turns properly
The steps shown while a Host is written now rest at each one and turn between them, with the step behind the front hidden.
Link to this release ↗More of the voice roster, and a better wait
Hosts now draw from the whole voice roster instead of favouring a handful, the Generate button carries the usual generate mark, and the wait shows what is being written as a turning carousel.
Link to this release ↗The list view shows Hosts still being made too
A Host whose artwork is still being generated now shows a spinner in place of their picture in the list view, matching the grid.
Link to this release ↗A clearer wait while your Host is written
Generating a Host now shows what is being written — name, style, voice, background — with a progress bar, and the Hosts page shows Generating on the card itself while the artwork is made.
Link to this release ↗You can close the Create Host dialog while your Host is being made
The close button did nothing while a Host was being created. It works now — the Host carries on being made, and the Hosts page shows the progress.
Link to this release ↗Fixed: creating a Host reported a timeout that had not happened
Creating a Host takes about half a minute, which was just over the limit the page allowed. It reported a timeout while the Host was being made perfectly well. Also, poster and lifestyle shots no longer land on the same hand gesture every time.
Link to this release ↗Fixed: progress and failures were not being detected
The Hosts page could not actually tell whether artwork was in progress or had failed, so the banner was guesswork and a second Host could be started while the first was still being made. Fixed.
Link to this release ↗Creating a Host from an identity works
Choosing an identity and creating a Host failed every time. Fixed.
Link to this release ↗Hosts keep the identity you chose
A Host created from a chosen identity now carries that identity, and failures during creation are recorded so they can be diagnosed.
Link to this release ↗Fixed: creating a Host from an identity failed
Choosing an identity and creating a Host returned a generic error instead of working. Fixed, and when a create genuinely cannot proceed the reason is now shown rather than a blanket message.
Link to this release ↗First Steps offers ready-made Hosts first
Describe your music during setup and you are shown Hosts who are already made — their face, their name and their character — and choosing one is instant. Building your own is offered when there are not enough ready for your genre.
Link to this release ↗You can see when a Host is still being made
A Host's artwork is made after they are created, and it carries on whether or not you stay on the page. The Hosts page now says when that is happening, the portrait fills itself in when it lands, and a Host that could not be finished offers you a retry or a way out.
Link to this release ↗Host descriptions that read like a person wrote them
Every Host suggestion has been rewritten in plainer, warmer language, and a few have been renamed to sit better in their own genre.
Link to this release ↗Clearer icons on the Host suggestions
Four icons were hard to read at the size they are shown and have been redrawn.
Link to this release ↗Every Host suggestion has its own icon
Icons on the Create Host suggestions no longer repeat, so two Hosts shown together never wear the same mark.
Link to this release ↗The Hosts you are shown match what you asked for
Describe the music and the three Hosts offered are now the ones that fit your description, not the same three every time. Ask for slow jams for late evenings and you get a late-night Host; ask for something to move to and you get a different one.
Link to this release ↗The three Hosts sit side by side
The Create Host picker shows its three suggestions abreast in a smaller window, so they read as a choice between three rather than a list to work down.
Link to this release ↗One tag beside a Host's name
The identity and the support reference beside a Host's name are now a single tag rather than two.
Link to this release ↗Three Hosts to choose from, each with a line about who they are
The Create Host picker now leads with three identities, each with an icon and a sentence describing the Host you would get. The rest are one click away, and every one of them explains itself too.
Link to this release ↗Choose who your Host is
Creating a Host now means choosing an identity — twenty per genre, from Nashville Hitmaker to Front Porch Philosopher — and the whole character is built from that one choice. The screen appears instantly instead of taking about twelve seconds to write three options.
Link to this release ↗Clearer wording when the pool has no Hosts for your genre
When the shared pool cannot serve the genre you described, the option now says so plainly and points you at building your own.
Link to this release ↗Build your own shows the generate mark
The Build your own option now carries the same stars the rest of the app uses for AI generation, so it reads as generated rather than added by hand.
Link to this release ↗The two ways to get a Host read as two choices
The step where you choose between the shared pool and building your own now shows two large cards with an icon on each, instead of two small text boxes.
Link to this release ↗A proper wait while your Hosts are written
After you describe the music, the Create Host screen now clears and shows a loading indicator while it works, instead of leaving your answer on screen under a status line.
Link to this release ↗Create a Host by choosing a character
Creating a Host now starts with the music you want them to present, then offers three written characters to choose between. Whichever one you pick is the one that gets built, and their artwork follows on its own.
Link to this release ↗Regenerate describes the voice you chose
Regenerating a Host's voice description now describes the voice actually assigned to them, rather than writing from their character alone and inventing details that do not match what you hear.
Link to this release ↗Hosts get the accent that suits them
A Host's voice description now names the accent that genuinely fits them. Until now it was limited to a neutral or soft American southern accent, which meant Hosts from other backgrounds were described with an accent that did not suit them at all.
Link to this release ↗Better Host names
New Hosts can no longer be handed a name lifted from our own examples, and the naming now aims for a mix of single-word handles and two-part names instead of drifting toward one-word names for everyone.
Link to this release ↗Voice descriptions lead with who is speaking
A Host's voice description now opens with their perceived gender and age, then describes how they sound. Previously those details could end up appended to the end as an afterthought.
Link to this release ↗Removing a Host, explained properly
The confirmation for removing a Host said it was permanent and could not be undone. That was wrong: removing a Host frees your slot and returns them to the Harmonic Wave pool, where another creator may pick them up. Only your edits to their profile are lost. Mobile navigation also moves Hosts next to Experiences.
Link to this release ↗Tidier Host artwork and voice library
The enlarge control now lives on the Host's Style images and only appears when you hover over one, instead of sitting permanently on top of the panel copies. The voice library also clears its filters when you close it, so it opens fresh next time.
Link to this release ↗Voice description follows every voice change
Changing a Host's voice now updates their voice description no matter where you picked the voice from. Previously this only happened for voices chosen from the public library, so picking one from your own voices left the description describing a different voice.
Link to this release ↗Your current voice is always first
The voice a Host is already using now sits at the top of the voice library every time you open it, whatever you search or filter for. Previously it was ordered by popularity like everything else, so a less widely used voice could be hundreds of rows down or missing from the results entirely.
Link to this release ↗Changing a Host's voice takes effect immediately
Switching a Host to a different voice now clears the saved preview clip, so the preview plays the new voice straight away instead of replaying the old one. Voices you add from the library are also labelled with the voice's own name, so you can tell them apart from voices designed for a Host.
Link to this release ↗Pick a voice, and the description follows
Choosing a voice for a Host now rewrites their voice description to match it, so the words and the audio finally agree. The voice you picked is named on the Host, the one already in use sorts to the top, and the library keeps loading as you scroll instead of making you press a button.
Link to this release ↗Voices you pick stay tidy
Voices added from the voice library are now labelled as ours, so the clean-up tool in Settings can find and remove them when they are no longer attached to a Host. Previously they were invisible to it and would sit in your voice provider account indefinitely.
Link to this release ↗Hosts that sound like themselves
Voice descriptions were coming out nearly identical for every Host, and the words they used barely overlapped with how the built-in voices are described — so the voice a Host was matched to was close to arbitrary. Descriptions now vary properly and are written in language that actually selects a voice.
Link to this release ↗Hosts look like the Host you described
When you describe a Host you want, that description now reaches the artwork. Previously the written character was correct but the portrait was drawn from the styling notes alone, so details about the person themselves could be quietly lost. Host search also now matches on name and genre.
Link to this release ↗Better voice browsing, faster Host artwork
The voice library now leads with the most widely used voices instead of burying them, and shows how many creators have adopted each one. The search and filters got a tidier layout. Separately, artwork for a new Host now starts promptly instead of occasionally stalling for several minutes before the first image appeared.
Link to this release ↗Faster previews, more varied Hosts
Previewing a free voice is now instant the second time you play it, instead of being made from scratch on every click. And new Hosts are drawn with an eye on the ones you already have, so a run of Hosts created one at a time no longer drifts toward looking alike.
Link to this release ↗A steadier voice library
The voice library window no longer resizes as you search. It holds one height and the results scroll inside it, so the search box and filters stay put under your cursor instead of jumping every time the number of matches changes.
Link to this release ↗A voice library worth browsing
Browse Voice Library now searches the full public voice library instead of the handful of stock voices on your account. Search by name or style, and filter by accent, gender and age — so if you want a Host who actually sounds Jamaican, Irish or Southern, you can go and find one. Listening is free.
Link to this release ↗Say hello to Hosts
Your DJs are now called Hosts. It is a name change only — every Host you already have keeps their name, voice, artwork and experiences exactly as they were. We also gave voice auditions a proper script, so a candidate now sounds the way it will actually sound on air.
Link to this release ↗Your DJ, better looking
Every DJ now comes with their own set of artwork — a profile picture for the places we show them, and a lifestyle shot for when you are choosing who presents your experience. Both are made in the world of their music rather than against a plain backdrop. We also fixed DJ artwork that could stop loading, and refreshed the music beds behind every genre.
Link to this release ↗Harmonic Wave v0.11
Add a DJ, bring in your music, and start authoring experiences. The Experience Player is coming soon — so you can build everything now, and share it for playback once the player lands.
Link to this release ↗