Noise Commander 3DS (Demo) changelog
v0.1.11 · May 28, 2026
Bugfixes before new GUI rewrite
Fixed
- Saving a project after creating a new one overwrites the previously loaded project
- Channel volume gets stuck when a face-command was active during project loading and does not reset
- Normalize function labeled incorrectly
Changed
- 16Bit stereo wav files are automatically converted to mono during load (8Bit not supported)
v0.1.10 · Jan 11, 2026
Added
- Ability to export wav file from factotum looper (Press the "E" button) The files are saved in "/nc/samples/looprenders"
- Normalize function in waveform-view, accessible by pressing Start
- General "Mic Hold" setting: Records full length without needing to hold the A button
- General "Mic Pre Secs" setting: Waits n seconds before recording starts
Fixed
- Microphone recording cannot be trimmed in waveform-view
- Pressing B pastes the clipboard in narrow-tracker-view mode when it should only paste a single cell
- Clearing a cell in the narrow-view with B+A does not clear the clipboard and thus behaves "sticky"
Changed
- Microphone recording is now being normalized
v0.1.9 · Dec 29, 2025
Fixed
- Freeze when creating a new project (ouch!)
- Some lane-settings are not reset when creating a new project (bus-nr, midi-channel, chance, ducktrigger)
Changed
- Added warning about possible file corruption when saved with temp-build to splash-screen and save function
- Attempting to load song saved with newer version now shows error dialog and aborts
- Temp-build is now tagged in file header
- Added missing patreon credits
Added
- Clipmatrix-hotkey: Y + C-Pad for paging up/down by 16 steps or jump to top/bottom (as in tracker)
- Color-highlighting for current row in clip-matrix view
Removed
- "Row"-selection mode in tracker was confusing, it is now disabled
v0.1.8 · Dec 21, 2025
Fixed
- Buses are not re-initialized when creating a new project
- X-Fade misbehaves when sample is 8Bit
- Truncating in waveform-view does not free sample memory
- Maximum slice-number is now 15 instead of 16
v0.1.7 · Dec 7, 2025
Added
- Column-header bus-color-coding in tracker-view and clipmatrix-view
- User may alter 16-color-palette by adding a "/nc/colors.cfg" file with one RGB value pair per line: (example:) 0 50 128
- The colors.cfg file can be created by pressing the "Sv Clr File" button in the general settings
- Can now edit instruments in browser (delete, rename, duplicate)
- "Auto Sync Selection" setting in browser: Selects instrument/sample when pressing a pad
- "Auto Assign" setting in browser: Assigns the selected sample to current instrument or the selected instrument to the current pad while browsing.
- Press X when in either the samples- or instrument-list to show the toggleable settings
- "Randomize values" function in tracker-menu: mutates existing values by given percentage
- Pressing X in splash-screen shows recent files
- "Duplicate Repeatedly" function in tracker-menu
Changed
- Wav-header loop points are now applied to instrument every time a sample-number is assigned
- Unique random names are assigned to microphone/looper recorded samlpes
- The browser settings "Preview", "Sync Selection" and "Auto Assign" are now persistent
- The last selection mode is now remembered ("cursor"/"row") in tracker/matrix view
Fixed
- Bus/master automation has no effect while a track is soloed
- Crash when truncating sample in waveform view
Removed
- "Insert Note Stops" function from tracker-menu (seemed broken, needs investigating)
v0.1.6 · Dec 2, 2025
0.1.6
Added
- Ability to set arbitary loop in/out points in waveform-view (press L/R respectively)
- "Linked Playback" option in Settings: Both decks start/stop at once when enabled
- "Keep Tempo" option in song loading dialog
- "Stylus Margin" setting for calibrating the selection range in the waveform view This is to avoid unselectable areas at the horizontal screen borders
- Sample list in browser can now copy samples from/to other deck or file system or delete samples (Use the Select button to show the sample-list and the Y button to cycle the deck)
- Can rename samples in sample list
- Can audition/preview deck-samples in sample list (press B to audition, toggle auto-preview in options)
Changed
- Now reading loop-points from smpl chunk in wav-header (tested with renoise)
- When a value is selected in the instrument-column, pressing B selects or "picks" that instrument
Fixed
- Waveform-view: Cannot select last sample with the cursor
- Waveform-view: No panning possible at maximum zoom level
v0.1.5 · Oct 26, 2025
Added
- "StdyClck" setting in tempo-dialog: Keeps clock running and causes START to wait for next bar to start playing
Changed
- Wav recording now creates a new file instead of appending to the previous
Fixed
- Value in master volume column may lead to incorrect instrument look-up and stopping of a sustained looping note
- Octave +/- buttons skipping a value making it impossible to play the -1 octave
- App force quits when pressing upload button and wifi is disabled
- Now a message suggests to enable Wifi
- Networking is re-initialized and does not fail after wifi is switched multiple times
- If you start the function too quickly after enableding wifi you'll see errors, just start it again
v0.1.4 · Oct 5, 2025
0.1.4
Changed
- Renamed "Gated" to "Hold" in piano and de-coupled the setting from drum pads. Hold is off per default.
Fixed
- Creating empty clip assigns instrument 255 (Can now insert new row number without losing instrument)
- Pad-view does not refresh instr labels when new row plays
- Capturing loop to song in Factotum looper always copies only one bar when set to two
- Set fade default value to 16 in Factotum looper to avoid pops at boundary
- Pitch envelope amount not applied when selecting instrument
- Tapping "Sub-Tab" button (2nd from left at bottom in drum-pad view) does not toggle to previous sub-tab
- Stopping of transport not transmitted when connected via UDS
- Current slice-number not stored in song-file and lost at reload
v0.1.3 · Sep 21, 2025
0.1.3
Added
- Ability to connect and synchronize multiple 3DS consoles via local "multiplayer" Wifi (UDS)
- Starting or re-starting playback on the host will also restart playback on the connected clients
- The switches are in the General Settings (press down and tap the "General" tab)
- Note that normal Wifi-features (Browser-upload) is not possible while UDS is active
- "Neutral Preview" setting in preferences causes browser to play samples at original rate (default: on)
- New Piano Buttons:
- "Gated" toggles whether lifting stops the note and sets the instrument playmode
- "Slide" allows pressing keys by sliding the stylus, else it needs to be lifted
- "Off" is a shortcut for stopping current sound and recording/inserting an note-off
- Columns for fold distortion enable, width and gain
- Tempo Dialog: left/right buttons nudge playhead by one step to adjust phase with external audio (e.g. other 3DS)
- REC toggle in Bus-FX view
- New Tracker/Bus-FX screen combo (press right three times) for inserting slider-automation visually
Changed
- Retrig-column uses slice-positions now (i.e. works in combination)
- Repeat mode in drum-view now uses last slice-position. Nice in combination with linear slice trigs
- Enabling Right-channel-click-track disables stereo-widening effect
- Piano key background color now changes while pressed
- Fold-width (distortion) range now allows better articulation
- Brought pitch envelope back and added columns for animation
- Motion recording ability for most sliders in Bus-FX screen
- "Mono to stereo" settings are now preserved
Fixed
- Shifting notes with A+Up intermittently not working
- Playback position is no longer shown in Waveform-view after pressing A
- Memory-alignment crash when resampling (only happened with -O3 i.e. in release)
v0.12 · Sep 1, 2025
Fixed
- Note-events on buses may cancel other note-lanes. Such insertion is no longer possible.
Added
- Pressing SELECT in drum pad screen toggles "Loop Row" setting
- "Tracker Row Increment" option in general settings: Advances the cursor by x rows after note insertion
- "Tracker Grid Snap" option in general settings: The cursor stays on grid when moving up or down
v0.1.1 · Aug 24, 2025
0.1.1
Added
- Option "Zip-Upload creates named folder" in general settings
- "SampleReduce" column in tracker master section for automation (set 0 to disable)
- "Reduce" toggle button in FX view (bottom right) acts as disable override
Changed
- Retrig-column no longer requires a note, values of 0 and 1 retrigger the current sample
- Renamed "Instrs" to "Palette" in drumpad pie-menu
Fixed
- Sample loop setting has no effect
Removed
- Hid pitch envelope in page3 of instrument settings temporarily until improved
v0.1.0 · Jul 27, 2025
Added
- WiFi-Midi support via DSMI and custom VST3 plugin made with Juce
- Supports note-, control-change and program-change events (no clock nor sysex)
- User needs to compile and install either DSMI or the Juce VST3 plugin
- When using DSMI you'll need to disable and enable midi in the settings to send a discovery signal
- When using the VST3, click on "Discover 3DS" and then press/tap "Discover VST3 Server" in NC
- It should find the right ip-address after a couple seconds. If not, the addresses can be manually be set in both sides
- Caveat: NC has a fixed audio latencty of 43ms. Midi out events are delayed by this amount to stay in sync
- Program changes are only sent when the value changed, equal values and are not sent repeatedly but only once
- A midi-channel 1-16 can now be selected for each lane (0 means disabled) and the setting persists within the song file
- Midi note-on events use the instrument volume value as velocity
- Five Midi CC lanes for sending messages to external gear (hidden by default, unhide in column menu B+DLeft in tracker view)
- New "midi.cfg" file allows configuring up to 10 CCs for up to 10 midi out devices via text
- The first five Midi CCs can be configured in the Midi Settings UI
- "Fill to clip length" option in tracker menu and "Fill" in set length dialog
- New "Delay" column in lane allows for "micro-timing", delays note and overwrites swing delay for the given note
- New "Retrig" column: Repeats note x times or if >= 0x20 then digits are amount and number of steps (use for triplets)
- New "BusNr" column to animate the bus-output assignment
- "Set content length" in tracker menu shows the assigned shortcut (B + D-Left)
- Rotary sliders for quick insertion of row-values (volume, probability, repeats etc.)
- 16 Levels screen: Each pad plays current instrument at different volume
- Repeat screen: Plays held pad repeatedly, pressing D-Pad while held changes frequency
- Notes screen: Each pad plays a fixed note (may offer different scales in the future here)
- "Dedupe All Instruments" entry in clip-matrix menu, collapses duplicate instruments to one
- New buttons for managing column visibility: Show used, all, none, default
- "Delete" menu entry in instrument palette, deletes instrument and clears palette slot
- Looper: "xfade" slider cross-fades between dry and wet
- Looper: "Synced" button starts recording at next bar and stops after 1 or 2 bars (according to "bars" setting)
- Looper: "bars" setting allows up to two bars if the tempo is greater or equal to 88 BPM, else only one bar (512k limit)
- Looper: "Automix" toggle sets dry when starting recording and wet when recording finishes
- Looper: "Overdub" toggle - does what you expect
- Looper: Momentary "Reverse" button
- Looper: Rate slider resets when releasing to allow performing a a tape stop effect of sorts
- Looper: "Capture" saves the loop sample into the song as new instrument (Disabled in Demo version)
- Renamed bottom right button label from "Select/Play" to "Silent" in pad/performance view for clarity
- Quantization slider in general settings for changing all lanes at once (temporary solution)
Changed
- Partly new color scheme, thanks to Keffu for submitting/suggesting
- New functions in help: Pressing X shows Shortcuts list for current upper view and pressing Y for current lower view
- Pressing Select in help view toggles "Auto-Show" mode which jumps to the upper screens shortcut list whenever help is opened
- Empty pads show black color in instrument palette, all but first are now initialized as empty
- Tracker lanes now show the phrase- and clip lengths at the bottom
- Copy/pasting single notes with the B-button in compact tracker-view now copies all row values
- Increasing phrase length also grows clip length but not the other way around (does not shrink)
- Column visibilities now persist, stored in file
- D-Pad functions now repeat when held in help view
Fixed
- Copy/paste operations exclude columns other than note in narrow/compact tracker view mode
- Note-stops turn into notes when transposing selection by holding B+C-Pad direction
- Menu no longer opens after inserting a note-stop with B + Y
- Waveform display now supports 8Bit samples
Removed
- "Set Lenghts" menu entry from clip-matrix menu as it seems broken
v0.0.15 · Jun 4, 2025
0.0.15
Added
- Pads show current instrument number in lower right corner
- New generic "set length" dialog for changing current phrase- and clip-lengths
- New tracker-view hotkey Y+X - shows "set phrase-length" dialog
- New clipmatrix-view hotkey Y+X - shows "set clip-length" dialog
- New tracker hotkey: Y + C-Pad for paging up/down by 16 steps or jump to top/bottom
- Large status-icon displays deck's playing, looping or stopped state
- B + D-Right as an alternative way to start an entire row in clipmatrix-view to double tapping A
- "Set Lengths" menu item in clipmatrix view assigns length to all twelve row-cells at once
Changed
- Assigning a pitch value to an instrument sets num-beats to zero, otherwise the pitch may change unexpectedly later
- Muting lane via B + Pad now works in tracker- and clipmatrix widgets too
- Swing amount is now per deck instead of global (current was disturbingly changing when loading new song)
- Volumes are adjusted when loading files from versions before 0.0.14 but the levels still sound quite different
- Piano octave-setting no longer affects drum pads
- Default volume is now 70 instead of 50
- Instrument number is shown in hex in instrument-view to be consistent with tracker columns
- Tracker-operations now work in clipmatrix too: shift cell selection w. A+up/down, select above/below w. X+up/down
- Select button now toggles "row-loop" mode in tracker view too
Fixed
- Pressing START sometimes plays random clip row - it should play selected clip row
- Cross-fading exports sample (forgot to un-comment)
- No instrument number inserted with linear slice notes menu-function
- Some instrument parameters are not reset when creating new project (loopEnabled)
- "Reload" and "Reload Seq" in project view causes app to freeze
- Pressing A to disable follow mode while deck is not playing leads to confusing behavior (cursor stays locked)
Removed
- Removed shortcuts which re-order lanes as they don't work as intended (A+D-Left/D-Right)
- Hid shortcuts from tracker/clipmatrix menus as they aren't functional
- Removed "Rotate" menu item from clipmatrix menu
v0.0.14 · May 16, 2025
0.0.14
Added
- New Bus- and Master lanes in tracker- and clipmatrix view for automating effects and volumes
- Fade-commands for lane/bus-volume and bus-filter for long fades can be accessed with B + D-UP/D-DOWN
- Available commands (upper case letter): fade (I)n, fade (O)ut, set (T)arget, slide (U)p, slide (D)own, (S)top
- The time-unit is amount of steps, so larger values result in longer fades and vice versa
- Only available on the lane-volume, bus-volume and bus-filter-cutoff columns (more to come)
- Filter type option in Bus view: State Variable Filter LP/BP/HP and Biquad LP/BP/HP
- Preliminary Filter-Cutoff Sine-LFO per bus with amount and rate setting
- CIA files can now be installed from the file browser (press A when selected)
- Extremely simple waveform-view with truncating function (removes everything before or after the cursor)
- Factotum: Looper with pitch-shifting and time-stretching as a master effect. Work in progress.
- Parameter-columns can now be dynamically shown or hidden via B + D-LEFT (opens a menu)
- Pitch sliding (portamento): When a note has no instrument value, it will slide to the new note
- Pitch envelope (WIP) in third page of instrument-view
- The time can be set via the PSlide instrument attribute and automated via the new "GL" tracker-column
- Added cross-fade button, produces seamless loop by fading the first half into the second
- Tracker: An entire row can now be deleted by holding B and pressing A twice when the note e column is active
- Log-widget (open with Select + DDOWN)
- Rotary stepped-mode (toggle w. DLEFT while holding) - snaps to coarse parameter values
- Euclidean / Tracker screen-combo to allow selecting tracks quickly (press D-Right three times to show)
- B + DPAD-Left allows to choose which columns are displayed per individual lane
- Clip-lengths in clip-launch-matrix view are now shown as hex values
- Decimal value is shown in status-line when user changes hex-values
- "Insert Note Stops" (to first call if doesn't hold a note') option in tracker menu - to stop notes of previous pattern
- "Apply mutes" option in clipmatrix-menu: Assigns clip zero to all muted lanes and unmutes the
- "Double/Halve content length" options to clipmatrix- and tracker menus
Changed
- Volume levels change! A square-law curve is now applied to make fades perceived more evenly for humans
- File browser: Directories can now be recursively copied or deleted
- Tracker: Follow is disabled when transport is stopped to avoid confusion (user could not move cursor)
- Tracker: Follow is now initially disabled (enable by pressing A)
- Tracker: Can now edit multiple values in selection mode
- Tracker: Value-insertion waits for button B release, to avoid unwanted insertions (less confusing)
- Tracker: Releasing B on empty cell inserts previous value except if user moved to a different column, then it's the 'default value
- Tracker: Pressing B + A now deletes the selected values as you would expect
- Tracker: Moving left when on the left most lane+column the cursor no longer wraps to the right-most column
- Tracker: Horizontal scrolling changed internally
- ClipMatrix: B + A clears selection or current cell like in tracker
- ClipMatrix: Replaced "Duplicate uniquely" with "Duplicate slots unique" and "Duplicate instr unique"
- Tracker/ClipMatrix: No longer pasting at cursor x-position if clipboard is from entire row but at 0 instead
- Drum pad selection reflects tracker-lane selection changes (and vice versa as before)
- Bus-number is displayed at top-right in drum pads
Fixed
- Send effects on bus 4 have no effect
- A loop end-point at the last frame produces a click because the interpolation reaches out of range
- It means that single cycle samples can now be used, useful for chip-tunes
- Moving a selection upwards would cause a freeze when moved beyond the first row
- Flickering playhead in tracker-view during playback
- Cannot insert value with B + C-Left (only C-Right worked)
- Visual glitch in selection drawing where the cell before the value had differnt color
- Entering and exiting the Rosalina menu freezes the console, due to framebuffer grab? (Still wonky but no more freezing)
- Interpolating in row-selection mode freezes the app, now does nothing instead (supports only column mode)
- Trig condition: x out of x triggers every time
- Http data leaks into file uploads via curl and corrupts them
v0.0.13 · Apr 10, 2025
0.0.13
Added
- Ability to start/stop playback by pressing the START button (play current row when in clipmatrix view)
- Doubled Master- and bus-effects so each deck has their own - uses more CPU
- Decks can be disabled in DJ-Mixer view to allow reducing CPU usage temporarily
- Decks are initially disabled until the user starts playack
- Rudimentary playlist functionality in twin-file browser
- Press X and choose "New Playlist" in menu
- With an *.nsm file highlighted, press X again and choose either "Copy" or "Add to Playlist"
- Hold A + C-Pad Up/Down to re-order items inside the playlist
- Press Select to cycle the panel-view-types: FILES -> PLAYLIST -> SAMPLES (not implemented yet)
- Press A to load a song to the current deck as usual
- Press B to exit back to files mode and show the "/nc/playlists" directory
- The current playlist selection is persists, remembered during next app launch
- Browser: Visual scroll-bars appear in long lists to indicate paging is possible (press L/R to page)
- Browser: Pressing Y toggles deck selection
- Browser: new functions: Dulicate, Rename, Create directory, Jump to opposite dir
- Browser: The operations above support multi-selection but currently directories cannot be deleted or copied
- Browser: Multiple rows can be selected by holding X and moving the circle-pad up/down
- Header shows current deck's' loaded file name now
Changed
- Doubled Master- and bus-effects so each deck has their own - uses more CPU
- Toggling display in clipmatrix has been re-assigned to the L button
- The right-hand status column now shows the currently playing row of track 1
- Audio init error now shows instructions on dumping DSP firmware to fix it
- Browser: Switching side with circle-pad left/right now
- Browser: Cursor now stays in position when paging with L/R fore more comfort
- Browser: Pressing A when a .lst (playlist) file is selected opens it (switching to PLAYLIST panel type)
- Browser: Copying large files is now slightly faster
- Browser: Shows warning when attempting to load song into deck which it playing and audible (crossfader not off)
Removed
- Opening a project or creating a project no longer auto-plays the deck (must press Start now)
- Start button no longer cycles pages in instrument view, use B+Circle pad instead.
Fixed
- DJMixer view: Both "Deck Gain" sliders affect only the selected deck instead of respective side
v0.0.12 · Mar 30, 2025
0.0.12
Added
- HTTP upload feature (button): User can drag a file into a served web-page to transfer it to the 3DS console
- zip-files are automatically extracted to /nc/samples after uploading
- Uploading via Firefox seems much slower than via Chrome
- Tracker + pads/piano screen combo, selectable by tapping D-PAD right twice
- Bus FX screen can be access by tapping D-PAD left twice
- New "Instrs" (palette ) mode - allows assigning instrument numbers to pads and record them to the current lane
- Different numbers can be assigned by holding the pad and pressing left/right on D-PAD
- Pressing Up on the D-PAD while holding a pad will start a drag session. A copy/swap/clone menu appears when dropping.
- Pressing D-Down while holding a pad will show a menu for overriding certain values:
- Pitch, Volume, Slice-number, sample-number and lane number
Changed
- Ther user can no longer insert notes into phrase number zero
- Allow sliding touch on piano to trigger different notes (needed to re-tap before)
Fixed
- Muting via B+Pad does not stop sample like PAD + Dpad-UP does
v0.0.11 · Feb 1, 2025
0.0.11
Added
- Current octave is displayed in right-side status column
- B + Y inserts a hard note off value (in contrast A + B changes the note length to current row)
- "Tune to C" button in instrument view - simple zero-crossing method, sometimes off by one note - not perfect
- Pop-up dialog for downloading demo-samples appears at startup if the samples directory is empty
Changed
- Changed initial reverb default value from 10 to 0
- Matrix view displays phrase numbers in hex now and coarse edits offsets by 16
- Renamed "Pattern Settings" screen to "Mono to Stereo Settings" and remove redundant controls
- Hid obsolete Grid-Editor view and replaced "Assign" button with "Randomize all samples" button
- Double tapping A shortcut for row-launching in clip-matrix view
Fixed
- Shifting single note row with A+DPAD UP/DOWN does not work without selection sometimes
- Row lengths don't update when inserting or removing row in matrix view
- Bus-numbers display range started at zero, now starts a one
- Notes are still played when erasing notes with L + Pad
- Clearing a pattern un-assigns samples from instruments
- Avoid handing reserved sample, pattern or instrument with zero index to the user (adjusted related functions in code)
- Wrong tempo value shown in tempo-dialog
v0.0.10 · Jan 6, 2025
0.0.10
Added
- Per-bus probability setting ("BChance" in Bus-FX view)
- Per-lane probability setting ("LnChance" in tracker bottome companion view)
- Per-note probability setting in tracker companion screen (Percentage column)
- If the first hex digit is zero then the second number represents a percentage (1=10%, 5=50% etc.)
- 0F ("First") is a one-off trigger, only fired when the phrase plays for the first time
- If the first hex digit is non-zero then the trigger occurs every nth out of x times (x being the second digit)
- e.g. "14" plays every first out of four times and so forth (the maximum is 8/8)
- Splash screen
Changed
- Removed automatic insertion of note length in tracker editor
- Files are now sorted alphabetically in browsers
- The phrase length now updates to the total length of the four euclideans whenever a value is changed
- Added dynamic length toggle ("Len") button to second page in euclidean view (off by default)
- When enabled, the clip length is set to the total euclidean length whenever a value is changed
- The "All", "Bus" and "Selected" lane mode buttons now behave as mutually exclusive radio buttons
- The Y-button now resets the selected parameter in instrument view
- A unique instrument is assigned to each lane's first clip when creating a new project
- Default template is created by code when no template.nsm file is found
- Follow- and narrow modes are now initially active by default in tracker view
Fixed
- Deleting notes by holding L+Pad was broken
- Reverb-tail never ends due to fixed-point math (replaced with float for fix)
- Instruments not duplicated by "Duplicate Uniquely" if instrument column is empty in matrix view
- Note with no volume value should play at full level but was quieter (64 instead of 0x64)
