SPODMOD

Unofficial features for the MPC 3000, loaded from floppy. Beta 0.1b8.

The wave editor on the MPC 3000's screen: Wave Edit 909-BD1 A01, In and Out, the waveform, and the soft keys Play, Zoom, CHOPZONE, TOOLS.

G'day! I use my MPC3000 every day and I love this thing, but there's always been a few things that feel like roadblocks in this modern age, so I decided to make my own modded OS and this is it, the SPODMOD MPC3000XL. I'm currently beta testing so sign up at www.spod.com.au/spodmods or follow me at www.patreon.com/spodzone cos that's where i'll be releasing the 1.0 and public betas. Cheers!

What is it?

Bunch of new features for the classic Akai MPC 3000, loaded off the floppy at power-on. Nothing in the machine is changed: take the disk out and it is a stock MPC again.

Beta. This is test software, with a small group of testers. Back up your disks before you use it on material you care about.

Sequencing

Perform Mode

Where: On the main screen, F2

A live performance page designed for fast and easy live muting, soloing and grouped effects. You can really rip in like nothin' else!  You can mute and unmute tracks 1 to 16 from the pads, while a sequence plays or before you start it. On the main screen, F2 now reads Perform.

Main screen→Soft key 2

The sixteen tracks are laid out the same way as the pads, so pad 1 is track 1 and so on. Hit a pad to mute its track, and hit it again to bring it back; muted tracks are shown inverse. Along the top you get the sequence name, the bar and the time, running as it plays.

F1 Mute
Pads mute and unmute tracks. The default.
F2 Solo
A pad mutes every other track. Hit it again for your earlier mutes; hit another pad to move the solo.
F3 All on
Unmute everything.
F4
Back to the screen you were on. WAIT FOR KEY too.
STOP, PLAY
STOP stops the sequence and the page stays up. PLAY starts it again, still on the page.
Hold TIMING CORRECT
Pads play and roll as normal, for note repeat.

You can also open it while stopped, set up your mutes, and then press PLAY to start.

The Play/Record screen, with Perform on F2.
Main screen: Perform on F2
Track Mute Mode with tracks 2 and 6 muted, shown inverse.
Tracks 02 and 06 muted

Queue any sequence next

Where: Perform Mode, with the cursor on SEQ

On the stock main screen the wheel only reaches the sequence after the one playing. In Perform Mode, with the cursor on SEQ, turn the wheel as far as you like: the title reads Next: 7-VERSE, and that sequence starts when the one playing ends.

Data entry

Empty sequences are skipped. If you change your mind, turn back to the one that's playing and nothing is queued. When the sequencer is stopped, the wheel just changes the sequence as usual. It works in song mode too, but your mutes don't carry over to the next sequence.

Control groups from Perform Mode

Where: Perform Mode, cursor down to the groups

The second line shows the four control groups, one kind at a time. Press ↓ to go from the sequence to the groups, ← → to pick a group, and turn the wheel. ASSIGN steps the kind: Tune, Filter, Level, and round again.

↓→Note Variation

The Note Variation slider follows the cursor. On a group it sets that group over its whole range (Tune ±24 semitones, Filter and Level ±100), heard from the next note. After the cursor moves, the slider leaves the new value alone until it passes it. On SEQ it is the stock slider.

AFTER holds the slider. With AFTER lit, a slider move only holds a value and the sound doesn't change. Hold values on as many groups and kinds as you like, then put AFTER out: they all go in at once.

You can also type a value with the number keys (press + or − straight after for the sign), and ERASE sets the group back to 0. These are the same values as on the Control Groups page, and they're saved with the program.

Perform Mode with TUNE CG1 +2.0 selected on the second line.
CG1 tuned up two semitones
Perform Mode with AFTER lit, a value held on CG1.
AFTER lit: the value is held, not yet heard

Sound editing

A graphic wave editor!

Where: Program/Sounds, then 6

This draws the whole sound on the LCD, so you can trim by eye and also get some real time visual previews on the effects. Between In and Out the wave is solid, and the parts you've trimmed off are dotted. You can also get here with HELP from the stock Edit Sound page.

Program/Sounds→6
F1 Play
Play In to Out. Hold it to loop while you move an edge.
← → and the wheel
Pick In or Out, then move it. Turn fast and it goes further.
0–9
Type the time: 1 5 0 0 is 000.015.00.
Pad
Switch to that pad's sound and play it. Hold to loop while you trim.
> and LOCATE
> plays from In; LOCATE stops.
<
One step back, from any screen of the editor.
ENTER
Leave, keeping In and Out as the sound's start and end.

You don't have to save a trim: In and Out stay with the sound when you leave. The two fields in the top-right corner are the mute group and control group of the pad that plays the sound. Press → from Out to reach them, and turn the wheel to change them. All of this works while a sequence is playing, so you can hear the trim in context.

Wave Edit 909-BD1 A01 with its waveform, In, Out and length.
909-BD1, on pad A01
The wave editor with the mute group field in the corner selected.
The corner: its pad's groups

Zoom to the sample

Where: Wave editor, F2

F2 Zoom shows the edge you are moving up close, centred on a line. Each wheel click moves the edge one pixel, 1 to 4096 samples depending on the zoom, and turning fast speeds up. ← → jump to the next or previous marker.

F2 Zoom+F3 Zoom−
Fine: In, the waveform at sample level around the In marker, 64 samples a pixel.
The In edge at 64 samples a pixel

Tools

Where: Wave editor, F4

The wheel picks a tool, or type its number. → moves onto its settings, ↓ opens the list of them all. F1 Do it runs it on In to Out; F3 Undo and Redo swap it back and forth.

00 Duplicate
A copy, NAME-CP, to work on.
01 Truncate
Cut down to In–Out for good and free the memory.
02 Multi Sel
Pick several pads; the next tool runs on each of their sounds.
03 Normalise
Loudest point to full level, no clipping.
04 Reverse
Backwards.
05 Tune
Pitch and level. Resample rewrites it at that pitch.
06 Fade
In, Out or both, over a share of the part.
07 Gain
−48 to +48 dB; it tells you when it clips.
08 Delete
Cut In–Out out and close the gap.
09 Compressor
Glue, Squash or Pump.  Cursor Right for more settings.
10 Crush
Lo-fi rate and bits.
11 Distort
Crunch, Grind, Fuzz or DHC. Peaks never pass full level.
12 Tape
Warm saturation, a little hiss, a slow wow.
13 Stretch
Time stretch to a percent or to bars.

Before a tool changes the sound, a hidden copy is kept so Undo can put it back. If there isn't enough memory for that copy, it asks you before going ahead.

The tool list: Duplicate, Truncate, Multi Sel, Normalise, Reverse, Tune.
↓ opens the list
TOOLS 04 Reverse, the kick drum's waveform reversed, with Undo.
Reverse, done: Undo is there
TOOLS 06 Fade In and Out at 5 percent.
Fade In&Out

Compressor

Where: Tools, number 09

This compressor evens out a sound without dragging its hiss up with it. Amount runs from 1 (gentle) to 10 (heavy). The threshold is set from the sound's own peak, so the same Amount does the same job on a quiet sound as on a loud one.

Glue
Light, for gluing a loop or a mix together.
Squash
Brings up the body of drums and breaks.
Pump
Ducks on the hits and swells between them.

→ cursor goes on to Attack and Release (1 to 10), Mix (the dry sound under it) and Make-up (Auto, or up to +24 dB). Each style keeps its own settings, and Reset brings back its suggestions. Stereo sides are linked, so the image holds.

The tools list on 09 Compressor, Amount 6, Pump.
Amount 6, Pump
Compressor's second page, Att 6 Rel 5.
Attack and Release

Time stretch

Where: Tools, number 13

This is Akai's own time stretch that's never before been on the MPC3000, run from the wave editor. You can stretch by a percentage (25 to 2000%) or fit the sound to 1 to 16 bars at the sequence tempo, using the Cyclic, Intell or Free method. The result is a new sound, NAME-TSnn, and the pad plays it. Undo puts the original back, and Done keeps the stretch.

F4 Cancel stops a long one and leaves the original as it was. On a Multi Sel pick it stretches every picked sound and puts each on its pad.

13 Stretch, 505 percent, fit to 1 bar, Intell.
Fit to one bar: 505 %
The stretched sound 909-BD1-TS01 in the wave editor with Undo and Done.
The stretch, 909-BD1-TS01

Hear FX

Where: Any tool, F2

F2 Hear FX plays the first two seconds with the current settings applied, without touching the sound itself. Press it again without changing anything and it plays straight away. Try a few settings this way, then press Do it when you like what you hear.

13 Stretch at 102 percent, with Hear FX on F2.
Hear FX on F2

Chopping

Lazy Chop

Where: Wave editor, F3 then F1

Play a break and tap pads along with it, the way you'd play it. Each tap starts a new slice on the pad you hit.

F3 CHOPZONE→F1 Lazy→

Your first pad starts the sound from In, and a playhead runs across the wave so you can see where you are. Each tap drops a marker straight away. If you hit a pad that's already used, the slice moves on to the next free pad; hit the same pad twice to end its slice early and leave a gap. When the sound ends, or when you press F2 Stop, press F4 Done to keep the zones.

WAIT FOR KEY in the wave editor arms it too.

Lazy Chop: Pad Ready. Hit a pad to start. Each new pad chops.
Armed: hit a pad to start
One zone made, with ERASE deletes, hold for ALL.
The zones, to dial in

Auto and Equal

Where: CHOPZONE, F2 or F3

Auto puts markers on the hits. Sens sets roughly how many, the biggest first, and the markers follow as you turn. Offset moves them all up to 50 ms either way.

Equal divides In–Out into as many zones as you pick. No Assign makes the sounds without putting them on pads.

Either way, press Do it and hit the pad you want the first slice on. The rest follow on from there.

Dialling the zones in

← → step through every edge, << >> through the zones; the wheel, the number keys and the zoom page move the one you're on. Hit a zone's pad to hear it, hold it to loop. F1 Split cuts a zone in two. ERASE deletes a marker; hold it to clear them all.

F3 Select picks zones by their pads, and the wheel moves the same edge of each one together. A zone can take a mute group, so each slice cuts off the last.

Auto Chop, Sens 7, Offset +2 ms.
Auto: Sens and Offset
Chop Zone, Equal zones: 4.
Equal: four zones
Zone 1 of 4 on A02 selected, the other zones dotted.
Zone 1/4 on A02
Picked 3 of 4 zones: wheel all, less-than drops.
Three zones picked

Chop to pads, and undo it

Where: CHOPZONE, F4

F4 CHOP makes each zone a sound on its pad in the current program, named after the source: 909-BD1-01, 909-BD1-02 and on. The wheel adds a tail of up to 250 ms to every slice first.

Open CHOPZONE again on the sound you chopped and F4 reads Undo. The slices go, every pad plays what it did before, and the zones come back to move and chop again.

Chop, Tail 0 ms. Make 4 sounds on A02-A05? (1 in use). Replace, Reassign, Back.
The question, with the tail
Chopped: each zone is a sound on its pad.
Chopped
Delete 4 chops, pads as before?
Undo asks first

Programs

Mute groups

Where: Program/Sounds, then 2

Pads in the same mute group cut each other off, across all four banks: open and closed hats, choke groups, a mono bass line. The upper Cutoff field now reads MutGrp:; turn up from OFF for MG1 to MG4, then the stock notes.

The setting is saved with the program. If you load that program on a stock OS, it simply reads as OFF.

Env, Veloc page: MutGrp 30/MG1 and CtlGrp 31/CG2.
MutGrp: and CtlGrp:

Control groups

Where: Program/Sounds, then 9

The field under it, CtlGrp:, puts a pad in one of four control groups. Each has its own Tune, Level and Filter, added to every pad in it at the next hit: turn the kit down, tune a set of slices together, close the filter on the hats.

Program/Sounds→9

Tune ±240, Level ±100 %, Filter ±100. The wheel or the number keys set a value. Hit a pad to see its groups on the line under the table, and change them there.

Edit All CG, F3 on Program/Sounds 2: while it is on, an edit to one pad in a control group goes to every pad in the group.

Control Groups page, CG1 Level +2 selected, pad A02 909-SD1 in MG1 and CG2.
Control Groups

A whole bank's groups

Where: The Control Groups page, F2 or F3

F3 MG Asgn and F2 CG Asgn lay a bank out like the pads, with each pad's group. Hit a pad or move the cursor, then the wheel sets its group. PAD BANK changes bank.

Assign Mute Group, bank A: pad 01 MG1, pad 02 MG1 selected.
Assign Mute Group
Assign Control Group, bank A.
Assign Control Group

Pad Assign

Where: Program/Sounds, 1, then F2

This shows which sound is on every pad in a bank, all on one screen. Pick a pad and turn the wheel to step through the sounds in memory. The change happens as you turn, so there's nothing to confirm.

F2 Levels
Each pad's mixer level instead, to set there.
F3 Swap
Trade two pads with all their settings. Recorded sequences sound exactly as before: the pads move, not the notes.
Pad Assign, bank A, pad A02 909-SD1 selected.
Pad Assign
Pad Levels, every pad's level L072.
Levels

Disk

Hear a sound before you load it

Where: Disk, then 7

Move to a .SND and press >, the locate key above PLAY. It plays. Then turn the wheel and each file plays as the cursor lands on it; >> and << step a file at a time.

Disk→7→>

Press > again, or LOCATE, to stop. Any other key drops the preview, leaving memory as it was. It works from floppy, Gotek and ZuluSCSI.

Load/Erase/Rename Files on 909-BD1.SND: preview with the locate keys, hold Load plus a pad.
On a .SND

Load straight onto a pad

Where: Disk, 7, then hold F1

Hold F1 Load and hit a pad: the sound loads and the pad plays it. A pad on its own plays what's on it now and shows its name.

Hold F1 Load+

If a sound with the same name is already in memory, it asks first, and can load a second copy as KICK2.

A pad hit on the Load page shows A01 909-BD1.
Pad A01 shows what it plays
Already in memory. Load another copy?
Already in memory

Transport and sampling

STOP cuts every sound

STOP now stops every sound that's still ringing as well as the sequence, long samples included. If the sequencer is already stopped, STOP cuts anything you played from the pads.

Sample while a sequence plays

Where: Program/Sounds, then 5

You can record a new sound while a sequence is running. The sequence keeps playing when the take ends, and F1 Play on the review page plays your take over it. From the Name page you can go straight on to Pad Assign or the wave editor.

Sample New Sound: Done. Press Play to hear it, then Name and Pad or Discard to try again.
The take, ready to hear

Reference

Installing

You need

  • An MPC 3000 with Vailixi 3.50.
  • A floppy drive or a Gotek. The MPC only looks for startup files on the floppy, so STARTUP.SYS can't load from SCSI or ZuluSCSI. Your sounds can stay there.
  • On a Gotek, FlashFloppy with host=akai in FF.CFG.

Loading

  1. Gotek: copy SPODMOD-MPC3000.img to the USB stick as DSKA0000.img (it loads at power-on) or any free slot.
    Floppy: copy STARTUP.SYS, unchanged, to a 1.44 MB disk formatted by the MPC.
  2. Power on with the disk in.
  3. When loading finishes, the title bar reads === SPODMOD MPC3000XL v0.1b8 F260 === for a second, and the MPC carries on as normal.

Load the disk each time you switch on. Keep a disk without STARTUP.SYS so you can always boot stock.

Things to know

  • It takes 64 KB of sequence memory: 420K free at boot instead of 484K.
  • Perform Mode covers tracks 1 to 16.
  • Groups and settings save in your programs. A stock OS reads the new fields as OFF.
  • HELP's title shows the build, for reports.

Troubleshooting

Hangs at “Loading files”
The file was changed. Use STARTUP.SYS exactly as supplied.
No title, no features
The file isn't on the floppy or Gotek, or FF.CFG isn't host=akai.
“needs Vailixi 3.50”
Your OS is something else. Nothing was changed: power off and take the disk out.
“ROM differs, not loaded”
Your Vailixi 3.50 isn't the one this was built for. Tell us the date and version from the boot screen.
Group values do nothing
The pad isn't in a control group: set CtlGrp: to CG1–CG4.

If anything goes wrong, power off, take the disk out and switch on: the MPC is stock. Your disks only change when you save to them, as always.

Quick reference

Perform Mode
Main screen, F2 Perform
Wave editor
Program/Sounds 6, or HELP on Edit Sound
Tools
Wave editor, F4 TOOLS
Lazy Chop
Wave editor, F3 CHOPZONE, F1 Lazy
Mute and control groups
MutGrp: / CtlGrp: on Program/Sounds 2
Group values
Program/Sounds 9
A bank's groups
F3 MG Asgn / F2 CG Asgn on the Groups page
Edit All CG
F3 on Program/Sounds 2
Pad Assign
F2 on Program/Sounds 1
Sound preview
> on a .SND in Disk 7
Load onto a pad
Hold F1 Load + pad