Releases: StartSWest/FluidEQ
Release list
FluidEQ 1.4.0
FluidEQ 1.4 turns the Karaoke Maker into a complete local production studio.
It can split a song into voice and backing tracks, transcribe the words, follow
the sung melody and carry the result all the way into the player. The Maker and
player were also rebuilt around the same transport, so moving between them now
feels like two views of the same song instead of two different tools.
New
- Separate a song into voice and backing tracks, entirely on your PC. The
Karaoke Maker can now prepare both stems from an ordinary song, keep them with
the saved draft and restore them when the project comes back. Each stem can be
heard alone, and voice, backing and melody guide each have their own level in
the shared transport. - A stronger local lyric and melody pipeline. Transcription now uses
Whisper large-v3-turbo and asks for the song's language instead of guessing;
every language the model supports is available. Melody detection uses RMVPE
with SwiftF0 as a fallback, follows phrase attacks and singing contours more
naturally, and decodes stable notes with a Viterbi pass. Downloaded models,
decoded audio and GPU memory are managed explicitly, with a visible way to
release the memory when the work is finished. - The response graph can live over the Karaoke player. Double-click or use
the expanded/fullscreen graph view while Karaoke is playing and the graph is
drawn over the stage, with its own visibility and blur controls. Karaoke
remains sharp, and the graph menu and pet make room for the song controls. - Double-click the Karaoke stage to enter or leave fullscreen. Buttons,
sliders and other interactive controls are protected, so an ordinary control
click never changes the window mode. - The OPRA headphone-correction library replaces the retired AutoEq data.
It brings a current catalogue of more than 6,200 products and 12,000 curves,
keeps the measurement author and source attached to each correction, and can
update independently with the database carried on every version release.
Changed
- The Karaoke player and Maker now use one transport. Play, seek, skip,
backing, voice and melody-guide controls have the same icons, proportions and
bottom position in both views. At narrower widths the large level sliders
become compact buttons whose menus hold the same settings instead of forcing
the bar to overflow. - The Karaoke Maker has a responsive, two-level header. Editing tools sit in
the header rather than stealing a row below the preview; they stay centred
when there is room and wrap onto their own header line when there is not.
Playback stays in the bottom transport, and the entire editor contracts for a
13-inch screen without hiding tools or stacking them over the title. - Karaoke lyrics focus more like a stage display. The current line is larger
and brighter, the surrounding lines fade with distance instead of disappearing
into a dark wall, and switching between player and Maker uses a short,
low-cost transition without moving the bottom controls. - Responsive workspaces use the whole window. Media and Karaoke now fill the
available height on tall, narrow windows; the side controls scroll instead of
overlapping; the titlebar waveform gives up width before transport buttons do;
and graph, player and Maker panes keep bounded heights at the mobile breakpoint. - Profiles belong to their output device. Each device now has its own profile
folder, deleting a profile asks first, and removing some other profile no
longer changes the current selection. - Visualizer choices show what they look like before playback starts. The
look picker renders a representative frame, and the live-output strip has a
compact wave size available from the existing size shortcut. - EQ Presets received a layout and interaction polish. Clearing the editable
bands no longer makes the selected reference correction lose its name.
Fixed
- The titlebar waveform now follows the sound the meters are showing. It
reads the left and right channel analyzers directly, so opposite-polarity
stereo can no longer cancel into a flat trace while both meters are active. - The mobile response graph no longer grows the page forever. Its narrow
layout has a bounded viewport-relative height and cannot use its own new size
as the next flex measurement. Media and Karaoke no longer stop halfway down
the same narrow window either. - Karaoke controls no longer collide in expanded graph or fullscreen views.
The graph options, titlebar, pet, chords, lyric-size control, playlist button
and bottom transport all reserve the space they need, whether the top bar is
shown or hidden. - The Karaoke transport no longer drifts between player and Maker. Both
surfaces use the same bottom inset and padding, percentage labels no longer
squeeze into neighbouring controls, and the backing-only label remains inside
its own menu at small widths. - The Maker's header and tools no longer overlap. Long titles truncate,
action groups shrink before they collide, and tool buttons keep a consistent
icon size instead of expanding with the row. - Core tab changes no longer flash through a dark frame. EQ, EQ Presets,
Voicing and Convolution remain opaque while their content changes, matching
the already-stable Media and Karaoke tabs. - Saved Karaoke stems and guide vocals recover cleanly. Restored stems are
adopted instead of separated again, the guide vocal can rebuild itself after
an interrupted render, solos stay contained, and drafts follow the source
content rather than a temporary filename. - The embedded Media browser and app window have an explicit content security
policy. External navigation is constrained to the intended browser flow,
and Chromium page zoom cannot accidentally resize the whole interface while
the timeline keeps its own wheel gestures. - Output and profile state no longer invents folders for missing devices.
Windows output discovery is kept separate from profile writes, and an absent
output cannot leave behind a phantom profile location.
FluidEQ 1.3.1
Mostly the Auto normalize switch, which was getting the level wrong in three
different ways and showing the wrong number in a fourth. Also: the Karaoke Maker
had no way back to the song you started from, and these release notes had no
obvious way out.
New
- Restore original, in the Karaoke Maker. Next to Undo and Redo. It throws
away the whole session and rebuilds the karaoke exactly as it was imported,
saved draft included — for when an edit went wrong several steps ago and
undoing one at a time is not the way back. It is itself undoable, so pressing
it by mistake costs nothing.
Changed
- Turning Auto normalize off no longer puts back an older preamp. It used to
restore whatever the slider was last moved to, which meant switching off could
jump the level to a number from some earlier session. Nothing is remembered
now: switching off keeps the level Auto normalize had arrived at and hands the
slider control of it, so the switch decides who is in charge of the volume and
never the volume itself. - The release notes have an OK button. The corner ✕ is what you reach for to
escape something, not what you press when you have finished reading. OK sits
at the bottom right, outside the part that scrolls, so a long changelog never
hides it — and it holds the focus, so Enter closes the notes.
Fixed
- Turning Auto normalize on shows the reserve it just worked out. On the
Karaoke tab the preamp stayed on the old manual number, so the switch looked
like it had done nothing. The sound was always right; the display was not, and
only on tabs without the response graph — everywhere else the graph quietly
corrected it a moment later. - Turning Auto normalize off no longer makes everything louder. It published
0 dB instead of the reserve that was actually in force, so a chain holding
back 11 dB got 11 dB louder from one click of the switch whose whole job is to
stop it clipping. Preamp: -19is read as -19. A preamp line without the unit was read as 0
and still reported as a successful import, so the file loaded and played at
the wrong level with nothing to say so. The unit is optional now, like every
other tolerant field in that parser.- An imported preamp is no longer overruled without a word. Automatic
normalization recomputed over the value the file asked for, so what played was
our number rather than the exported one. A file that carries a preamp line now
switches automatic mode off, and the import result says that it did. - Profile names can no longer reach outside the profiles folder. A saved
profile is stored under the name you give it, and that name was being used to
build the file path without checking it stayed where it belonged. Loading,
saving, renaming and deleting all check now, and a name that would land
somewhere else is refused rather than quietly rewritten. - Links only open in a browser if they are browser links. Anything the app
offered to open externally was handed to Windows as-is, which is not the same
thing as opening a web page. Onlyhttpandhttpsare passed on — the
Remote Media player already worked this way, and now the rest of the app does
too. - Rainbow mode switches off properly the first time you win it. Turning it
off in the session it was earned in left most of the colour on screen —
parts of the app went back to normal and the rest kept celebrating. It looked
fixed after a restart, which is why it was easy to miss. Off means off now,
whenever you ask for it.
FluidEQ 1.3.0
1.2.0 could play a karaoke file. This one can make you one, out of a song and
nothing else: the words come out of the audio, the timing comes from you tapping
along, and the melody is read off the recording. What comes out is a file the
Karaoke tab plays like any other.
The rest is about trust. A copy of FluidEQ can now tell you where it came from,
and updates arrive only from the place the build in front of you was actually
published.
New
- A Karaoke Maker. Open a song and it walks the whole way to a finished
karaoke file. The lyrics can be transcribed from the audio, or pasted and kept.
Timing is recorded by ear — play the track, mark each line as it starts and
ends, then go back and mark individual words where a line needs the detail;
every mark can be nudged earlier or later rather than redone. The melody is
analysed off the recording into notes you can hear, split, delete, retune or
add to by hand. There is a count-in preview, undo and redo throughout, and the
result goes straight to the player or saves as a project to come back to. - The lyric transcription downloads a model the first time you use it. It is
a speech-recognition model fetched from Hugging Face, and it is the one thing
in FluidEQ that reaches the network for something other than an update. It
happens on your press, not on launch, and every other part of the Maker — the
timing, the melody analysis, the audio itself — runs on your machine. If you
would rather nothing was fetched, paste the words in instead and the rest of
the Maker works exactly the same. - A copy of FluidEQ will tell you where it should have come from. The licence
lets anybody copy, change, rebuild and sell this program, which is as it should
be — but it also means somebody can hand you a build and call it ours. There is
now a panel naming the official site and the official repository, and saying
plainly that a download claiming to be official without a valid Windows
signature is neither.
Changed
- Updates come only from where your build was published. The build from
GitHub updates from GitHub, exactly as it always has. The signed build updates
only from its own address and never from the public repository, because signed
installers are not published there. Which one a copy is was decided when it was
built and is compiled into it, so it cannot be changed by editing a file in an
installed copy. Each side checks what it downloaded before running it — the
signed one that the signature is ours, the GitHub one that there is no
signature at all — so an installer that ended up in the wrong place is refused
rather than installed. Development builds do not update at all. - The window opens at nine tenths of your screen, centred, or maximised on
anything below 2K. It used to open at a fixed 1428×625, centre itself for that
height and then grow to 1036 from the same corner — which, on a 1080p screen,
put its bottom edge under the taskbar on the very first launch.
Fixed
- Signing in works in the Media tab. Sites that hand their sign-in to
somebody else — Suno through Microsoft, Twitch through Amazon, and the Apple,
Discord and Facebook buttons wherever they appear — used to reach a page the
player refused, which looked like a broken login. Each of those sign-in hosts
is now named, one at a time and never as a wildcard, because a page here can
hold a live login and the list is the whole boundary. Google is listed too, but
decides for itself whether to allow an embedded sign-in and often will not;
that one is not ours to fix. - Suno's old address resolves.
suno.aistill answers and redirects to
suno.com, and a redirect the player would not follow was a dead link.
FluidEQ 1.1.0
Equalizer APO's configuration used to be one block per output, with every layer
poured into a single run of numbered filter lines and nothing in it saying where
the voicing stopped and your own bands began. It is now a file per layer, and
that is where most of what follows comes from: a layer with a file of its own can
be switched off without being taken apart, told apart from your own tuning when
FluidEQ starts up again, read on disk, and sent to somebody else.
New
- Any layer switches off without being lost, and every correction has a
strength. Switching one off leaves its file out of the chain rather than
clearing its settings and stashing them, so pressing the switch again puts
exactly the same thing back, and it survives a restart. Your bands can finally
have a switch of their own, so can the impulse response, and Smart EQ has
joined the driver, headphone and voicing layers in having a strength — half of
a measured correction is a reasonable thing to want when the measurement is
more confident than you are. - A headphone correction is a layer of its own, on a page of its own.
Applying a published measurement used to replace your bands outright, so
clearing the EQ threw the correction away with your tuning and Smart EQ read it
as error and flattened it over a few passes. It now sits beside your bands with
its own chip, strength, switch and curve, from either headphone database. - Continuous EQ. Pressing Smart EQ applies one measurement whole; this is a
mode instead — measure, move a fraction of the way, measure again, for as long
as there is music — so one track's emphasis and the next one's cancel out and
only what every record agrees about survives, which is your headphones and your
room. Detail corrects peaks and dips, Balance also evens out a bright or
warm recording, and Target brings every record to the same tonal balance. - A Config tab, showing what is actually on disk. Every other panel shows
what FluidEQ intends; this one shows what Equalizer APO has got, and the two
differ exactly when it matters — after a hand edit, another tool, a restore
from backup. Each output also gets one file FluidEQ creates empty and never
writes again, applied last, for the APO commands that have no interface here. - Send a chain to somebody. A whole output's tuning exports to a
.fluideq
file and imports back, always onto the output you are listening to, because
that is the only one you can judge the result on. - Media buttons in the title bar — previous, play/pause and next, commanding
whatever is playing anywhere on the computer rather than only our own player.
Expect up to a second between the press and the track changing. Windows only. - Play to a second output at the same time, with a level for each and nothing
to install. What it is not: the sound arrives about a fifth of a second late,
so it suits music in another room and not video; it runs only while FluidEQ is
open; and every mirror carries the correction of the device you are listening
on, because that is in the sound before FluidEQ sees it. - A level meter that reads in real decibels, both channels separately.
Nothing on screen answered "how loud is this, really" before. - Eight genre voicings — rock, metal, pop, hip-hop and R&B, electronic, jazz,
classical, acoustic — beside the five that were already there. - The graph remembers each of its sizes separately, so arranging the plot for
a video in full screen no longer rearranges it for editing bands afterwards.
The legend is a set of switches, one per curve, and the View menu can switch
off the level meter and the title-bar wave. - The player stays signed in between runs. It ran on a session thrown away
when the app closed, which made it no use to anyone with an account: a
signed-out music service shows ads to somebody who pays not to see them. The
guarantee changes from "nothing is kept" to "nothing is kept that you did not
ask for, and one press throws all of it away" — that press is a new button in
the player's toolbar, always visible.
Changed
- Auto-normalise gives volume back as well as taking it away. The preamp
could only ever attenuate, so a chain that merely cut made everything quieter
and nothing put it back. It will not invent volume either: a narrow cut
restores nothing, because away from its centre the chain never moved. - Smart EQ measures the record, not what you have already done to it. It
treated everything it heard as correctable, so it could not see past a cut —
a range dropped 20 dB by mistake hid the very evidence that the cut was wrong. - Loudness has been removed. It was an EQ curve wearing the name of something
Equalizer APO cannot do: a loudness control on an amplifier raises perceived
level, and APO has filters and nothing else. Measured, it lifted the ends by
4.5 dB, the preamp reserved 4.1 dB against that boost, and the midrange ended
five decibels down — turning it on made things quieter. The equal-loudness
voicing curve stays, being the same idea stated honestly. - Spotify and SoundCloud have gone, and Suno is being tried. A button leading
to a page that does not play is worse than no button. Spotify signed in,
browsed and searched perfectly and never played a note, its audio being
encrypted with a system this runtime has no decoder for; SoundCloud refused a
sign-in by all four of its routes without producing a single error anywhere we
could see. Suno is on the same terms as everything else: it stays only if it
works. - A published correction reaches Equalizer APO as the curve it was published
as. Some ship as a list of points rather than as filters and APO draws those
natively, where until now it was FluidEQ's approximation being written out.
Nothing on screen ever showed the difference — only the file APO reads. - On startup, FluidEQ can tell which layer wrote what. It used to refuse to
read a config back at all while any layer was live, because a voicing and a row
of hand-placed bands looked identical in the text. That refusal now applies
only to a flat config, and which layers you had switched off comes back too. - Zoom moves in half steps, about 9.5% a press instead of 20%, because
settling on a size is what people actually do with it.
Fixed
- A chain somebody sends you can no longer carry code into Windows audio. A
.fluideqis advertised as a settings file, and the part of it holding your own
Equalizer APO commands was written into the config word for word — into a file
included all the way up to APO's own, in a language that can load libraries. An
imported block is now refused if any line loads code, includes another file, or
carries a control character that could end one command and start another; the
rest of the chain still imports, and the panel says what was dropped and why. - The player no longer writes sign-in addresses to the log. Every address it
navigated to was recorded whole, and the report-a-problem tool attaches the
tail of that log and offers to post it publicly. The tail of a sign-in address
is not a location, it is the credential. - The player stopped handing a storage permission to anything that asked, and
an impulse response file name can no longer smuggle a second command past the
config writer — a newline in a name ends a line in an Equalizer APO config. - A band drag starts where you grabbed it. Pressing a handle threw the band
upward before the cursor had moved a pixel, and grabbing one off-centre snapped
it by however far off you were: it was measured against the drawn curve rather
than against your pointer, and the two had stopped being the same curve. - A layer that is switched off stays switched off. Smart EQ preserved the
voicing, the driver and the headphone correction whether or not you had
bypassed them, so it looked for shapes that were not in the sound and rebuilt
the layer you had just switched off inside its own. - Importing a chain no longer destroys the thing being imported. It dropped
the headphone correction on the way in, then saved the profile back from what
was live a moment later. - Clear on the AutoEQ page clears the correction and leaves your bands alone.
It flattened every band, which was right back when clearing a reference meant
undoing the bands it had written — so it wiped a tuning it no longer owned and
left the correction playing with nothing on screen naming it. - A strength slider can always be moved. It was disabled while its layer was
off, which pinned the strength wherever it happened to be. Dragging it brings
the layer back, dragging it to zero switches the layer off, and switching a
layer on from zero goes to full. - The bands do not vanish when every one of them is at zero. A flat chain is
written as a preamp and no filter lines, because a band at 0 dB does nothing —
but read back, "no filters" and "no bands" look identical. - A switched-off equaliser cannot be edited, and neither can the band handles
with the engine off. Both stayed draggable while looking inert, so you could
spend a minute shaping a curve connected to nothing. - The EQ chip is about the bands, which is all it holds now; it was naming
itself after the headphone model, so one pair of headphones appeared twice in
the same row. The headphone chip no longer vanishes at zero strength either. - Opening a dropdown no longer takes the pane's scrollbar with it, freezing
the panel and letting its content jump sideways into the gutter. The View menu
measures itself rather than running off the bottom of the screen, and the
expanded graph has its left edge back.
FluidEQ 1.0.0
The version number is the only thing here that changed suddenly. FluidEQ has
been a finished program for a while — automatic per-output profiles, four
processing layers written into one Equalizer APO config, a measured correction,
ten languages, an updater that works. What it did not have was a video playing
underneath the spectrum, and that is what the last two releases were for. It
works now, on every site it offers, in every size the graph comes in.
So: 1.0. Not because a milestone was reached, but because calling it 0.x had
stopped being honest.
New
- Switch any layer off without losing it. Press a chip in Also applied and
that layer leaves the config — the chip stays, dimmed, and pressing it again
puts the same settings back. Nothing is recomputed, because nothing was lost.
It is how you find out whether a correction is actually an improvement:
the same passage, both ways, a second apart. Voicing, driver, Smart EQ and
loudness for now. - The bands have a chip of their own, named by the model they came from and
the measurement behind it, or by how many bands there are when you placed them
yourself. It says (modified) once you have moved them, so the label never
claims a curve that is no longer on screen. - Loudness moved in with the other layers, off the waveform meter. It is
written into the Equalizer APO chain like everything else in that row, and it
belongs where the rest of them are. Euphoria mode now brings it with it, and
takes it away again. - Full screen, rebuilt. The window takes the whole display, the side panes
go, and the picture reaches all four corners. The controls become a small card
that fades out when nothing is happening and comes back when you move — click
the drawing to hide or show them at once. The creature stays in the corner. - Keep the top bar in full screen, from the View menu, if you would rather
see where you are. On by default. - See through and Blur are in the View menu, where there is room for them,
instead of taking half the control strip. - Every site remembers where you left it. Switching between YouTube, YouTube
Music, SoundCloud, Bandcamp and Twitch now comes back to the track that was
playing, a few seconds before where you stopped, and carries on. Only one
player ever runs, so leaving a site still stops it — this is what makes coming
back cost nothing. Pressing the site you are already on goes to its front
page. - The wave can hang, mirror, or grow from the middle. Ctrl+I steps through
four shapes: standing up, hanging down, mirrored into two halves that share
the height, and mirrored outward from the centre line. - Stretch the wave across the whole card. With the grid hidden there is no
scale to leave room for, so the drawing takes the space the labels were using.
Changed
-
Less is taken from your volume. The preamp reserves headroom against what
music actually contains rather than against a flat signal to 20 kHz — a boost
at 12 kHz can never cost its full value, because nothing arrives at full scale
up there. Chains that were quiet for no audible reason get several decibels
back, and are no closer to clipping than before. -
Smart EQ always measures from flat. The switch that asked has gone: a
region already cut hard has almost no energy left in it, so measuring the
corrected output means the correction hides the very problem it is causing.
There was only ever one right answer. -
The chain reads in the order it makes sense. Convolution, then the driver
correction, then your bands, then voicing, then Smart EQ last — physical,
intended, taste, measured. Nothing sounds different; the config is now
readable at two in the morning. -
Only the live trace gets the rainbow. The other curves keep the colours
their legend names them by, which is what makes the legend worth having. -
Vimeo has been removed. It renders its listings entirely on the client,
from an API that returns nothing to a session it does not recognise — search,
Staff Picks and the watch feed all arrive with their tabs and filters and not
one result. FluidEQ's player is signed out by design and always will be, so
that is the only Vimeo it can ever see. A button onto an empty page is worse
than no button. -
The player signs into nothing, and remembers nothing. Its session is held
in memory and dies with the app, and sign-in is turned away at each site's own
front door. No account of yours is ever the identity behind what it does. -
A refused link leaves you where you are. Following one that goes outside
the player used to move you to a different site's front page; now the page you
were on simply stays, with a note saying what was refused. -
The spectrum is drawn on a canvas. Both of them — the one across the
graph and the small meter in the title bar. They were built out of SVG paths
before, which meant that thirty times a second the browser was handed a fresh
description of the shape as text, several thousand characters of it for the
denser looks, and asked to re-read it, re-measure it and repaint that part of
the window. A canvas is told to draw and draws. Nothing about the looks
changed: the same forty-six of them, the same palettes, the same glow, all
built by the same code — only what receives the drawing is different. -
The graph no longer redraws itself for sound it is not showing. The chart
woke up around twenty-two times a second whether or not the wave was on
screen, rebuilt everything it owns, and threw the result away. Now only the
parts that actually show live audio listen for it: the wave, the clipping
warning, and the measurement overlay. -
The controls above the graph sit on a panel of their own instead of
floating loose over the drawing, and in full screen there is one panel rather
than a panel inside a panel. -
The filter types are drawn against a shared 0 dB line, and named. They
used to sit on two different baselines — a peak rising off the floor next to
a low shelf falling from the ceiling — which made a shelf read as a treble
cut and made the pairs look swapped. They are mirror images of each other now,
and the band editor spells out which is which.
Fixed
- Expanded view and full screen hold steady. Moving between the two, or
playing one video after another, used to leave the picture missing until the
page was reloaded. Both now give the video the whole pane, every time and in
any order. - YouTube Music fills the pane properly, with no dark band down its side.
- Twitch fills it too, with no band along the bottom.
- The editor stops moving while you tune. The Also applied row used to
appear out of nothing the first time a layer went live, pushing everything
below it down mid-drag. It now holds its line whether or not there is
anything in it. - The player says what it refused. A link that went nowhere used to go
nowhere silently, which is indistinguishable from a broken page. Refusals,
failed loads and the page's own errors are now in the log. - Editing several bands at once no longer fails. Every band in a selection
sent its own request, and each of those rewrote the whole Equalizer APO
configuration. Ten selected bands meant ten rewrites for one turn of a knob,
which was slow enough that the edit gave up and reported a timeout — while
having worked. A group edit is one write now. Frequency is left out of it on
purpose: it is what tells the bands apart, and moving them all by the same
number of hertz stacks them on top of each other. - The band editor closes when you deselect. It used to fall back to the
first band whenever nothing was selected, so clicking away left it open on a
band that was highlighted nowhere — and moving a control edited a band you
had just let go of. - Less memory is used while the graph is open. Some of what the graph
allocated was never handed back; less of it is now. This is an improvement
rather than a conclusion — the remaining growth is still being tracked down,
and closing the graph pane has always released it. - The live capture cleans up after itself. Starting it crosses two points
where it can be cancelled, and neither was checked, so a capture could
survive the request to stop it — along with a timer and a listener that
nothing could reach afterwards. - Euphoria stops doing work nobody can see. It published a value several
times a second that no stylesheet ever read, which made the browser
recalculate the whole window's styling for nothing, and it left its glow
layers in place after the mode ended.
FluidEQ 0.8.2
Fixed
- Euphoria mode could not be switched off. Once you had earned it, the
toggle did nothing — the mode was reading "your current streak is at the
ceiling" as well as the switch, and a streak does not reset when you stop
playing. So it stayed true forever and held the colours on no matter what you
pressed. Winning is now a moment rather than a state: it unlocks the mode for
good and switches it on there and then, and after that the switch is the only
thing that decides. - The development shortcut invented a score. In development builds, the
button that jumps to euphoria used to write a full 19,350 points and a
36-tap streak straight into the run — so the share card could show a number
nobody had played for. It now only turns the mode on. Your score is yours.
New
- Ctrl+E turns euphoria mode on and off, once you have earned it. Before
that it does nothing at all: a shortcut that worked early would give away
that there is something to find.
Changed
- The setup log records nothing that identifies you. It was writing the
install directory, which on a normal install contains your Windows account
name. It now records only what happened — found, offered, declined, started,
failed — so the file is safe to send to anyone without reading it first.
FluidEQ 0.8.1
Fixed
- The installer offered to install Equalizer APO and then did nothing. You
said yes, no setup window appeared, and FluidEQ opened over the top of it
without an audio engine. Equalizer APO's installer requires administrator
permission, and the call FluidEQ used to start it cannot ask for it — it
failed instantly, and the message saying so went into a pane that one-click
installers do not show. It now asks properly, so Windows raises the
permission prompt and APO's setup opens. If permission is declined, FluidEQ
says so plainly instead of carrying on in silence. - FluidEQ could not tell whether Equalizer APO was already installed.
Installers run as 32-bit programs and Windows quietly redirects their
registry reads away from where 64-bit software records itself, so the check
always came back empty. Setup would therefore have re-run APO's installer
over a perfectly good installation, and uninstalling FluidEQ could never
offer to remove APO, because it could not find it either. - Uninstalling could not remove Equalizer APO even when you asked it to,
for the same permission reason as the install. - The Install Equalizer APO button inside the app was broken the same way.
It reported success, and no installer ever opened. Both places now ask
Windows for permission properly.
Changed
- Setup writes a log. Every decision it makes about Equalizer APO — found
or not found, offered, declined, started, failed — goes to
%APPDATA%FluidEQlogsinstall.log, next to the app's own logs. None of
this was visible before, which is why the problem above survived a release. - A build missing its copy of Equalizer APO now says so during setup,
rather than skipping the step without explanation.
FluidEQ 0.8.0
New
- Equalizer APO comes with FluidEQ. It is inside the installer — nothing is
downloaded and there is no second website to visit. Setup offers to run it,
and APO's own installer opens so you can choose which audio devices to
equalise and get its restart prompt from the tool that owns it. Already have
Equalizer APO? It is left completely alone, whatever version it is. This was
the worst moment in getting started and it is gone. - Uninstalling asks whether to remove Equalizer APO too, and defaults to
No. It is a system-wide audio component and other applications may be relying
on it, so removing it is never the quiet default. Updating never asks. - The Install APO button inside the app runs the bundled copy rather than
opening a download page.
Changed
- The equaliser is properly inert without Equalizer APO. The window still
opens, the meter still runs and the graph still draws — the app is worth
looking at either way — but every control that writes to the config greys out
rather than looking live over an engine that is not installed. - The share card opens in its own window. It used to replace the game
inside the support panel, which meant a picture the size of the panel trying
to fit inside that panel; on a short screen the buttons that save and post it
ended up below the fold. - The support panel fits a short screen. It gives things up in order of how
little they are missed rather than shrinking everything at once — first the
spacing tightens, then the aside about how the app was built goes, and last
the QR code, since anyone on a window that short is at a desk and the link
beside it does the same job in one click.
FluidEQ 0.7.0
New
- The live spectrum can be drawn thirty-six different ways, in two palettes.
Bars, a ridge, a staircase, floating peak caps, a contour map that shows how
wide a peak is rather than only how tall, a slope field that draws which way
the spectrum is turning, stalactites hung from the ceiling, a heart monitor
that beats once per band, a car riding the loudest frequency along a road made
of the trace, and a rank of little sprites hanging at their levels. Pick one
from the searchable list on the legend, or click the graph to walk through
them while you listen —Spacedoes the same, andCtrlwith either steps
back. - Every form moves in its own way. A bar snaps up and hangs, the way a level
meter does, so a kick lands as a step. A ridge is a landscape and moves like
one, because a hill that twitches reads as noise. The pulse is nearly
instant, because a heartbeat that arrives late is not a heartbeat. Choosing a
drawing changes how the music feels, not just what it looks like. - Wave only hides the EQ response, the voicing and driver layers and the
band handles, leaving the live trace alone on the grid. - Full screen clears the bands out of the way and presents the graph in the
middle of the workspace.Escbrings them back. - Ten ways to draw the titlebar meter, cycled by clicking it.
- Smart EQ is its own layer. It used to rewrite your bands, so applying it
overwrote the tuning you had done by hand and clearing it took your work with
it. It now sits on top of everything else with its own chip, and survives
clearing an AutoEQ reference. It also no longer inverts your own bands: the
target it corrects towards includes them, where before it measured as if they
were not there. - An applied reference arrives band by band, in frequency order, instead of
every slider jumping at once. You can see what it did rather than just what
it left behind. - Zoom the whole interface with
Ctrland+,-or0. Keyboard only,
deliberately — the mouse wheel belongs to the sliders. - There is a game hidden in the support panel, for anyone with the
contribution badge. Tap the creature or press space on the beat of whatever
you are playing. It reads the real percussion out of your own audio, so it is
your music you are playing along to. - Euphoria mode. Thirty-six consecutive perfect taps and the entire
application goes rainbow with the music: the bands, the response curve, the
meter, the menus and the release notes. One mistake and it all goes back to
being an equaliser. - Share your run. A card is drawn with the creature, your score and the
mode's own look, ready to post — copy it straight to the clipboard and paste
it into whatever you are writing.
Changed
- Both waveforms move at the display's rate, not the analyser's. Sound is
measured about twenty-two times a second, so drawing only when a measurement
lands meant two frames in three showed the same picture as the one before —
which the eye reads as stepping. They are drawn between measurements now,
gliding toward each new one: at the full rate of your screen during euphoria,
and capped at thirty otherwise, because a meter beside an equaliser does not
need sixty and the frames are not free. - The graph keeps time with the music instead of catching up with it. The
analysis window was twice as long as it needed to be and the smoothing on top
of it added more, so the picture arrived about ninety milliseconds after the
sound. It is closer to fifty now, and it is quick to rise and slow to fall
rather than sluggish in both directions, which is what makes it pump rather
than sway. - The graph reaches further across. The axis started at 10Hz but ended at
25kHz, which on a logarithmic scale left three times as much empty space
before 20Hz as after 20kHz. Both marks now sit the same distance from their
edge, and the drawing gets the space back. - The grid and the supporting curves have stepped back so the response you
are editing is obviously the subject rather than one line among five. - The installer opens FluidEQ when it finishes. Updates already did; a
fresh install left you looking at a closed wizard. - FluidEQ is called FluidEQ in Task Manager, in development as well as in
the installed app. - The language picker is one of the app's own dropdowns, not the operating
system's, and it opens downwards at a sensible size. - The titlebar sits almost flush with the page, so the window reads as one
surface rather than a bar stuck on top of one. - The delete-band button becomes an icon when the row runs out of room, and
gets its label back when there is space for it. It is a bin now, not a cross:
a cross reads as "close", which is the wrong promise. - The score measures accuracy, not endurance. Only a perfect adds; anything
else pays a little and gives back a share of the total. Playing longer cannot
move anyone past their own precision.
Fixed
- FluidEQ was capturing your screen the entire time it was open, and the
memory that took never came back — several gigabytes and still climbing after
a few minutes. Windows only offers system audio through the same call that
offers screen sharing, so a video track arrives whether or not anything wants
one. It was being switched off in a way that mutes what a track delivers
while leaving the capture behind it running, so full-resolution frames were
produced continuously and nothing ever read them. The video is now released
outright the moment the audio arrives. - Euphoria mode ate memory without limit — a few hundred megabytes with it
off, several gigabytes and still climbing with it on. The travelling colour
was animated on the window itself and inherited by everything inside it, so
the browser had to recompute every element on the page sixty times a second
for as long as the mode was running; the interface went sluggish, the graph
stuttered, and the waste piled up faster than it could be cleared. The colour
now travels only on the handful of things that actually show it. Two of those
things also carried an animated glow over a picture that redraws twenty-two
times a second, which meant re-rendering everything beneath it on every
frame — that glow sits outside the moving part now. It looks the same. - A request that timed out leaked its listener, forever. The bridge that
cleans up after an internal request rebuilt the wrong function and so removed
nothing at all, silently. Beyond the memory, the abandoned listener stayed
first in the queue and would answer somebody else's later request with the
wrong result. - A band deleted mid-animation stayed in memory until the animation it was
never going to finish would have ended. One is nothing; an afternoon of
adding, dragging and deleting bands is not, and none of it is visible while it
accumulates. - Clearing an applied reference clears its bands. The notes previously
claimed the bands stayed, which was wrong in both directions — a reference is
where your tuning came from, not a label beside it. - The pet stops reacting to a paused waveform, and stops swaying in a
silent room. The analyser freezes mid-frame when paused, and it was dancing
to a reading that had stopped being true. - The graph could not draw. 0.6.0 shipped a build that dropped d3's
transition module, so every animated part of the response chart threw
e.transition is not a functionand the window came up broken. The build had
been told d3 was free of side effects, which is true of almost all of it and
false of exactly the piece that matters: transitions install themselves onto
d3's selections when the module is evaluated, and nothing refers to them by
name, so the bundler quite reasonably concluded they were unused and removed
them. 0.6.0 and 0.6.1 were both withdrawn; everything they contained is in
this release.
Faster
- The renderer is 44% smaller. Nothing was being tree-shaken at all — the
TypeScript build emittedrequire()calls before webpack ever saw the import
graph, so every unused corner of every library shipped. d3 alone was dragging
in geo, force, contour and delaunay to draw an axis. - The creature stopped re-rendering twenty-two times a second. It sits in
the titlebar, so that never stopped: not when the window was idle, not when
nothing was playing. - The device list stops polling while the window is hidden. Each tick
enumerates every audio endpoint on the machine. - The spectrum is drawn as sixty-four columns rather than three hundred and
twenty. At that density the bars touched, so it read as a filled area with a
ragged top — a worse picture, built from a path string five times longer,
rebuilt on every frame. - The spellchecker is gone. It was downloading a dictionary to check the
spelling of preset names.
FluidEQ 0.5.1
FluidEQ 0.5.1 — Windows installer.
Install: download FluidEQ-Setup-0.5.1.exe and run it. Equalizer APO must be installed first, with your outputs enabled in its Configurator.
Already on 0.5.0? FluidEQ will offer this update itself.
Not code-signed yet, so SmartScreen will warn on first run — choose More info → Run anyway.
New
- The installer asks which language to use, preselecting your Windows one.
Nine of the app's ten, because NSIS has no Hindi translation — FluidEQ still
speaks it, the setup wizard does not, which is better than a half-English
wizard pretending otherwise.
Changed
- The release notes open on top of the support dialog instead of replacing
it. Reading them is a detour from deciding whether to contribute, not a
departure from it, so closing them puts you back where you were. - The pet sways like someone listening. It leans, holds there for a beat
and comes back, rather than swinging evenly from side to side — and the lean
hinges low, where a neck would be, instead of spinning the whole creature
about its middle. Still only for anyone with the contribution badge.
Fixed
- Escape closed both dialogs at once when the release notes were open over the
support dialog.
FluidEQ is a GPL-3.0-or-later derivative of AQUA by the AQUA Dev Team. AutoEq data is credited to Jaakko Pasanen and Ian Walton. See NOTICE.md.