Skip to content

Releases: satomasahiro2005/EffectDeck

v2026.10.08 — App Store

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 07 Oct 19:11

On the App Store. Download

Restart your iPhone or iPad once after this update (the device, not the app). Until you do, EffectDeck shows up in Control Center but won't connect, and the main screen shows Restart Required. Only this update requires it. A fresh install does not.

New

  • Output Correction: assign one of your presets to each pair of headphones or speaker. It is applied after the chain, switches automatically when the output changes, and never modifies the chain. Choose it from the Output Correction row below the chain; the built-in speaker is always listed.

Fixes

  • Third-party AUv3 plug-ins did not appear under Plugins.
  • Apple Audio Units such as AUDelay showed only parameter controls instead of their own interface (since 2026.09.28).
  • Dropping below the last card failed after Reset chain or deleting a card.

Other

  • JSFX scripts run about 1.3 to 1.4 times faster on iPhone, with bit-identical output.
  • JSFX: fixed a crash or incorrect values when a function using x[] was called more than once, and a crash from file_rewind or file_riff on a handle that is not open.
  • Available Effects has three tabs: Effects, Plugins and Presets. System Presets follow your own presets in Presets, with their categories in the jump bar.
  • Search results mark presets as User Preset or System Preset.
  • Effects can be dropped beside and between cards, below the last card, onto an empty chain, and, on iPad, onto the left list.

Spotify with Canvas no longer blocks routing on the latest Spotify. If it still does, update Spotify. See Known limitations in Settings.

Full Changelog: v2026.10.04...v2026.10.08

v2026.10.04 — App Store

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 05 Oct 11:58

On the App Store. Download

EffectDeck now includes EffeTune 2.12.0 (DSP 0.12.0), with three new effects: Analog Meter, Rhythm Analyzer and Tonal Balance EQ.

New effects

  • Analog Meter displays VU, PPM, RMS, sample and true peaks, and loudness. Includes 17 factory presets.
  • Rhythm Analyzer shows tempo, beats, swing and timing. Each tap keeps its analysis history when the card is collapsed and reopened; the collapsed view keeps the heading and Timing lanes (Beats).
  • Tonal Balance EQ shows tonal balance across 41 bands, with target adjustments and EQ response.

Controls and graphs

  • Note Spectrogram adds the keyboard and Volume controls from EffeTune 2.12.0.
  • Effect resets and default settings follow EffeTune. Pitch Meter adds an orientation setting.
  • AM Radio, TV Audio and Vinyl group their controls into tabs.
  • IR Reverb adds preprocessing controls, and Room EQ adds its graph.
  • Analog Meter improves needle sizing and loudness statistics in narrow cards.
  • Sub Synth's dry response graph now respects Dry Level.

Fixes

  • Connection timeout detection checks data received from the current peer.
  • JSFX fixes address integer overflow and memory handling.

Spotify with Canvas, and some other video playback, can still prevent iOS from routing audio to EffectDeck. See Known limitations in Settings.

v2026.09.28 — App Store

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 29 Sep 17:48

On the App Store. Download

Everything here is new since 2026.09.22, the previous App Store version.

iPad

  • A wide window shows the chain as a list on the left and every card open on the right. Reorder in the list, and drop effects into it.

JSFX

EffectDeck now hosts JSFX, the single-file script format REAPER uses, so an effect can be a text file you wrote, downloaded or had ChatGPT write.

  • Import from Files, a link, the clipboard or the share sheet.
  • Write JSFX with ChatGPT opens ChatGPT with a request. Import its reply From Files or From Clipboard. JSFX.md is what ChatGPT follows.
  • Sliders keep their ranges, curves and menus, and values are typed as plain numbers.
  • Scripts that draw (@gfx) get their canvas with touch, keyboard, menus and full screen. Settings has Adaptive and Pixel Perfect sizing.
  • @serialize state is saved with the chain and presets. Reported latency is compensated.
  • A script that keeps overrunning its time budget is bypassed, and the card says by how much. Re-enable puts it back.
  • In Plugins, the … next to a script offers View Source (line numbers, colouring, search), Copy Source, Share as a link and Delete.
  • Importing a fixed version (same desc and author) replaces the old one, and chains and presets follow it.

The App Store version ships no scripts. The TestFlight build comes with three samples.

EffeTune 2.11.0 (DSP 0.11.0)

  • New: Attack Tonal Balance, Bass Extender, Chroma Spiral, Bass Management.
  • Oversampling up to 8x on Saturation, Dynamic Saturation, Exciter, Harmonic Distortion and Multiband Saturation, 16x on Hard Clipping. Older chains stay at 1x.
  • Time Alignment goes up to 500 ms.
  • Color choices on Spectrum Analyzer, Pitch Meter and Spectrogram. Gain on the Stereo Meter goniometer.

Presets and sharing

  • Presets → Build a chain with ChatGPT. Paste the whole reply with Import from clipboard, or tap the link it gives; names or values it got wrong are corrected and listed. CHAIN.md is what ChatGPT follows, including turning an Equalizer APO or AutoEq file into a chain.
  • Share this chain makes an effectdeck.nemut.ai link that opens EffectDeck and keeps AU and JSFX stages (a JSFX by reference, so the other device needs the script). EffectDeck asks before replacing your chain.
  • EffectDeck appears in the share sheet for links, files and selected text.
  • Import from Link reads gist links.

The chain

  • Removing a Section can also remove the effects in it.
  • Section is listed under Control in Add Effect, as in EffeTune.

EQ

  • 15Band PEQ imports an AutoEq ParametricEQ.txt.
  • Moving an EQ marker no longer plays a tone.

Settings

  • Known limitations (English and Japanese) covers connection problems caused by iOS. Help on the main screen opens it.

Fixed

  • IR Reverb now prepares impulse responses as EffeTune does, so reverbs play at EffeTune's level (most are quieter than before in saved chains) and the direct sound is cut from the wet signal by default.
  • 5Band FIR PEQ, Group Delay EQ/PEQ and FIR Crossover settings are saved with the chain, presets and links.
  • A value typed into a parameter field is kept when you tap somewhere else, not only on Return.
  • Apple's Audio Units open with EffectDeck's parameter list.
  • Deleting effects or loading a chain during playback no longer risks a crash.
  • Applying an effect preset updates latency and IR Reverb at once.

Known

  • Spotify with Canvas, and sometimes Spotify, YouTube or a video played in Discord, cannot connect because iOS treats them as video. See Known limitations and #1, #3 and #4.
  • Overnight battery use is still being measured (#5).

v2026.09.28 (build 29) — TestFlight Public Beta

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 29 Sep 05:44

Public beta on TestFlight. Join

This is a beta, so it can have bugs the App Store version does not. Installing from the App Store puts you back on the released version at any time.

If you hit something, use Settings → Report a problem in the app, or ask on Discord or @ainemut.

Everything here is new since 2026.09.22, the version on the App Store.

iPad

  • A wide window shows the chain as a list on the left and every card open on the right. Reorder in the list, and drop effects into it.

JSFX

EffectDeck now hosts JSFX, the single-file script format REAPER uses, so an effect can be a text file you wrote, downloaded or had ChatGPT write.

  • Import from Files, a link, the clipboard or the share sheet.
  • Write JSFX with ChatGPT opens ChatGPT with a request. Import its reply From Files or From Clipboard. JSFX.md is what ChatGPT follows.
  • Sliders keep their ranges, curves and menus, and values are typed as plain numbers.
  • Scripts that draw (@gfx) get their canvas with touch, keyboard, menus and full screen. Settings has Adaptive and Pixel Perfect sizing.
  • @serialize state is saved with the chain and presets. Reported latency is compensated.
  • A script that keeps overrunning its time budget is bypassed, and the card says by how much. Re-enable puts it back.
  • In Plugins, the … next to a script offers View Source (line numbers, colouring, search), Copy Source, Share as a link and Delete.
  • Importing a fixed version (same desc and author) replaces the old one, and chains and presets follow it.

Three sample scripts are bundled so there is something to try right away. They are not in the App Store version.

EffeTune 2.11.0 (DSP 0.11.0)

  • New: Attack Tonal Balance, Bass Extender, Chroma Spiral, Bass Management.
  • Oversampling up to 8x on Saturation, Dynamic Saturation, Exciter, Harmonic Distortion and Multiband Saturation, 16x on Hard Clipping. Older chains stay at 1x.
  • Time Alignment goes up to 500 ms.
  • Color choices on Spectrum Analyzer, Pitch Meter and Spectrogram. Gain on the Stereo Meter goniometer.

Presets and sharing

  • Presets → Build a chain with ChatGPT. Paste the whole reply with Import from clipboard, or tap the link it gives; names or values it got wrong are corrected and listed. CHAIN.md is what ChatGPT follows, including turning an Equalizer APO or AutoEQ file into a chain.
  • Share this chain makes an effectdeck.nemut.ai link that opens EffectDeck and keeps AU and JSFX stages (a JSFX by reference, so the other device needs the script). EffectDeck asks before replacing your chain.
  • EffectDeck appears in the share sheet for links, files and selected text.
  • Import from Link reads gist links.

The chain

  • Removing a Section can also remove the effects in it.
  • Section is listed under Control in Add Effect, as in EffeTune.

EQ

  • 15Band PEQ imports an AutoEQ ParametricEQ.txt.
  • Moving an EQ marker no longer plays a tone.

Settings

  • Known limitations (English and Japanese) covers connection problems caused by iOS. Help on the main screen opens it.

Fixed

  • IR Reverb now prepares impulse responses as EffeTune does, so reverbs play at EffeTune's level (most are quieter than before in saved chains) and the direct sound is cut from the wet signal by default.
  • 5Band FIR PEQ, Group Delay EQ/PEQ and FIR Crossover settings are saved with the chain, presets and links.
  • A value typed into a parameter field is kept when you tap somewhere else, not only on Return.
  • Apple's Audio Units open with EffectDeck's parameter list.
  • Deleting effects or loading a chain during playback no longer risks a crash.
  • Applying an effect preset updates latency and IR Reverb at once.

Known

  • Spotify with Canvas, and sometimes Spotify or YouTube, cannot connect because iOS treats them as video. See Known limitations and #1, #3 and #4.
  • Overnight battery use is still being measured (#5).

2026.09.21 (build 26) — TestFlight Public Beta

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 21 Sep 23:48

Public beta on TestFlight. Join

This is a beta. It will have bugs the App Store build does not.

The beta icon is purple, so you can tell which build you are on when
something misbehaves. Installing from the
App Store puts you back on
the released version at any time.

If you hit something, use Settings → Report a problem in the app (it fills in
the diagnostics and the log for you), or tell
@ainemut.

Everything here is new since 2026.09.20, the version on the App Store.

Fixed (build 26)

IR Reverb, FIR Crossover, 5Band FIR PEQ, Group Delay EQ, Group Delay PEQ,
Room EQ and Crosstalk Cancellation all failed with "This build cannot reach the
effect's staging buffer." and could not be used at all. This affected every
build since 2026.09.17. They work again.

JSFX

EffectDeck hosts JSFX, the script format REAPER uses, so an effect can be a text
file you wrote or downloaded rather than something we shipped.

  • Import a .jsfx from Files or the share sheet. Files are judged by what is
    inside them, not by the extension, so a .txt holding a script is taken.
  • Sliders come through with their real ranges and curves (linear, log, sqr),
    enums and hidden sliders. Values are typed in plainly, never as 1e-05.
  • Scripts that draw (@gfx) get their canvas, full screen, Retina, touch and
    keyboard, and gfx_showmenu.
  • State (@serialize) is saved with the preset and comes back with it.
  • A script that reports latency (PDC) has it compensated in the chain.
  • A script that overruns its time budget is bypassed automatically and says so
    on the card. Re-enable puts it back.
  • Details shows how close to the deadline each script is running.
  • Imported scripts can be deleted again.
  • Settings has Adaptive and Pixel Perfect for how a canvas is sized.

Three sample scripts are bundled with the beta so there is something to try
without hunting for one. They do not ship in the App Store version.

Graphs

  • Full-screen spectrogram. The grid is drawn over the image instead of under it,
    and the colours were corrected.
  • FIR PEQ points can be dragged, and it has the same band header as the other
    band strips.

The chain

  • Reordering is decided by how the cards actually overlap, so a card no longer
    runs away from your finger. You can scroll while reordering.
  • Sections were rebuilt. An unnamed section collapses, and a section imported
    from EffeTune is read as written rather than guessed at.
  • Collapsed cards, numeric entry and display settings all survive a round trip.
  • Search covers every pane.

Power

  • While no app is routed in, the bridge polls far less often: the receiver woke
    1000 times a second and now wakes 50, the sender 500 and now 5.
  • EffectDeck no longer tells the system the device is gone every time discovery
    stops.

Files

  • Audio files can be sent in from the share sheet.

Settings

  • Reporting a problem prefills the diagnostics and the last 1 MB of the log.
  • Twitter (@ainemut) was added as a lighter way to
    report something.
  • Licenses moved to their own page.
  • The text about picking EffectDeck when it will not stick was rewritten from
    what actually happens on the device: pick it while audio is playing, and if it
    drops back to the speaker a moment later, try again.

Known

  • YouTube and Spotify can refuse to hand audio over. iOS decides a video track
    exists, and nothing EffectDeck sets changes that. Stopping the video, or
    quitting the app, releases it. See #3 and #4.
  • Battery while left routed overnight is still being measured. See #5.

2026.09.20 — App Store

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 19 Sep 17:43

On the App Store. Download

Multichannel output

  • Send the chain to a USB audio interface, up to 16 channels. The link from the extension stays stereo; that L/R lands in channels 1–2 and the rest start at silence.
  • Effects routed to All process the full hardware width. FIR Crossover becomes available at any even width from 4 to 16, so a multi-amp setup can be driven from the phone.
  • Connecting or disconnecting an interface while something is playing rebuilds the audio path.
  • Spatial Mapper offers Use all output channels while it is still routed to Stereo, because outputs 3–16 cannot be produced until it is routed to All.

Audio Unit plugins

  • AUv3 plugins run as ordinary nodes in the chain, at the position you put them — not as a post-processing stage bolted onto the end.

Fixed

  • A preset that uses an impulse response now reloads it when the preset is loaded.
  • The Phase Select EQ graph no longer collapses.

2026.09.19 — App Store

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 18 Sep 13:01

On the App Store. Download

Follows EffeTune v2.10.0 (dsp 0.10.0).

New effects

  • Pitch Meter — note, cents and Hz, with a scrolling piano roll
  • Spatial Mapper — splits direct, diffuse and residual, and routes each
  • TV Audio Simulator — analogue and NICAM television sound

Fixed

  • Two unnamed sections side by side could swallow one of them
  • Dragging a card took the matrix away from your finger

UI

  • Sections can be left, and a group's start and end are drawn
  • Presets moved into the effect picker, as genres
  • Folders for user presets: drag a preset onto one to file it
  • Drag a frequency graph to audition a sine tone
  • Spectrum Analyzer and Spectrogram: Log (HQ), 24/48-band bars
  • Sync Visuals to Audio, off by default
  • Latency is shown in samples, and CPU moved to the bottom of Processing

2026.09.18 — App Store

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 18 Sep 06:11

On the App Store. Download

Fixed

  • Bluetooth headphones pulled the input into HFP, so everything ran at 16 or 32 kHz mono. The input is pinned to the built-in microphone now, and the output stays on A2DP.
  • Reordering: the card jumped away from your finger, moved on one axis only, and did not settle back when you let go over empty space.
  • Controls inside a card could not be touched while a drag could start. Sliders, the matrix and anything else with its own gesture keep it.

Changed

  • Swipe left on an effect to delete it.
  • Backup moved from Settings to Presets.

Updating from 2026.09.17 or earlier

Restart the iPhone once. iOS only re-reads the document-type description at boot, so until you do, EffectDeck may not appear as an output device in Control Center. A fresh install does not need this, and neither does any later update.

2026.09.17 — App Store

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 17 Sep 13:44

Now on the App Store. Download

Renamed from EffeTune Live to EffectDeck, at the upstream author's request. Versions are dated (YYYY.MM.DD) instead of tracking EffeTune's.

Fixed since 2.9.0

Effects that were listed but had no way to load their data now work: IR Reverb, Room EQ, 5Band FIR PEQ, Group Delay EQ, Group Delay PEQ and Crosstalk Cancellation.

  • IR Reverb never actually applied — the impulse response was read but never reached the kernel, so it passed the dry signal through
  • Anything an effect had loaded was thrown away when the output device or the sample rate changed, and nothing put it back
  • Crosstalk Cancellation forgot its measurements and its settings as soon as you folded the card
  • Total Delay did not follow the settings that change it
  • Meters and graphs did not redraw in step with the display, and frames were being dropped
  • In the effect picker: a dragged effect sometimes showed nothing under your finger, the sheet stayed shrunk if you missed the drop, you could not drop below the last card, and picking from search did not close the sheet

Added

  • Presets per effect, including the factory ones from EffeTune
  • Chains and presets sync through iCloud; export and import as a file
  • Drag from the picker to drop an effect anywhere in the chain
  • Fold cards in three steps, reach routing from the card, see the live spectrum behind the PEQ curves

Distribution

AltStore distribution has ended. The App Store build is the one to use.

2.9.1 (build 11)

Choose a tag to compare

@satomasahiro2005 satomasahiro2005 released this 16 Sep 19:02

Effects that were in the list but had no way to load their data now work: IR Reverb, Room EQ, FIR Crossover, 5Band FIR PEQ, Group Delay EQ, Group Delay PEQ and Crosstalk Cancellation.

Presets per effect, including the factory ones from the desktop version.

UI: drag from the picker to drop an effect anywhere in the chain, fold cards in three steps, reach routing from the card, and see the live spectrum behind the PEQ curves.

Build 11. Requires iOS 27.

Install from AltStore PAL: add the source nemut.ai.


a462efd (2.9.0 / build 10) → 1cc221c (2.9.1 / build 11)

Full Changelog: v2.9.0-build10...v2.9.1-build11