Oikanys and I are happy to introduce MIDIbox ASIDITY: soon to be arguably the world's most powerful SID-based synthesizer!
[Edit: The listed features have changed slightly as the build has progressed. I will update this post as it becomes final.]
Designed with the mantra "MORE CONTROL" always in mind, ASIDITY harnesses the powerful versatility of eight Commodore 64 SID sound chips and one OPL3 using three LPC1769 cores. Featuring a digitally controlled feedback/volume/panning array, a massive modulation matrix (40 active and 198 passive modulators outputting to 512 SID parameters, 620 OPL3 parameters, and 424 modulator parameters), a powerful built-in 64-track 1536-measure morph sequencer that can control the SIDs as well as eight external MIDI outputs, an 8x16 four-color button/LED matrix that can run built-in adaptive visualizers when not being used, 35 knobs, over 240 buttons, and over 760 LEDs, ASIDITY will be awesome (if we finish it ;) ).
- Support for up to 8 SIDs of any type (will be using 4x6581 and 4x8580)
- Each SID audio output is split into 6, run through LM1973 audio attenuators, and connected as follows: feedback input to same SID, feedback input to next SID's audio in, feedback input to next-to-next SID's audio input, external audio output (one per SID), master left channel, master right channel; this allows for leveling and panning of each SID independently
- In addition to the feedback inputs from other SIDs, each SID has an external audio input
- Each SID has four pairs of filter capacitors; which one is active is digitally controlled (modulatable)
- Modulation matrix: 239 modulation sources (all independent): 8 EGs, 8 LFOs, 8 Patterns (16-step sequencers), 8 random generators (with 3 adjustable biases each), 8 256-step data delay modules, 64 Note track outputs from sequencer, 64 Velocity track outputs from sequencer, 32 configurable MIDI/loopback inputs, 32 configurable control surface outputs, 7 sequencer data inputs
- All active modulators (EGs, LFOs, PTNs, RNDs, DLYs) have gate, time scale, and value scale inputs, plus 12 more each
- Every SID parameter is modulatable (64 per SID), including things like filter type and TEST bit
- Every OPL3 parameter is modulatable except CSW and NoteSel, including things like waveform and whether a voice is 2-op or 4-op
- For both sound chips, frequency is modulatable in cents; includes two-mode portamento
- Modulators connected to a destination are combined through operators: +, -, *, /, AND, OR, XOR, XNOR, ==, !=, >=, <=. >, <, with options: Negation, Invert, Bitwise, Enable, Zero Half mode; allows selection of first modulator processed in order-dependent operations like subtraction and division
- Copy function
- Save and load complete state or individual voices to dedicated SD card
- Communicates with other cores over MBNet (CAN interface)
- Hardware refreshes a register of all the SIDs at the same time, or a value of eight of the audio attenuators, for maximum framerate
- Adaptive framerate (software only processes modulators, outputs, etc. if they have been changed)
- Switch between four tuning systems for the SIDs: one is fixed at equal temperament but the others are generatable by runtime-definable algorithms (e.g. you can make D-centered just intonation just with the front panel controls); not fixed to twelve notes per octave so you may do microtonal stuff
- Control surface mode: Configure the knobs and matrix buttons to output values to 32 modulators, then place the control surface in CS mode and operate the controls to modulate things. This is not the only way to directly control SID parameters, though; in the modulation matrix edit screens, just turn the column knobs to edit the default values.
- Four UART-based MIDI inputs and four outputs
- Five more input and output ports through USB MIDI port
- An additional four MIDI inputs, four MIDI outputs, and USB MIDI port are available on the front panel core (communication through MBNet), which support fixed-length MIDI messages only (no SysEx)
- 64 tracks
- Variable number of measures per track, 1-768
- Variable number of steps per measure for each track, 1-16
- External SRAM modules hold 64 tracks x 16 steps per measure x 1536 measures
- Two sequences can be loaded at once and tracks switched between them, one-by-one or in groups
- Within each step: 7 bit note, 7 bit velocity, 6 bit delay (proportion), 6 bit gatelength (proportion), 3 bit roll (number of equal subdivisions in step), boolean whether note output is smoothed, boolean whether velocity output is smoothed
- Three triplet modes: 3-within-1-step (all share same note and velocity--this is really just three-hit roll), 3-within-2-steps (all share same velocity), or 3-within-4-steps (all independent)
- Jump To and Resume buttons (changes current sequencer play position to selected step, and puts it back to where it would be if you hadn't jumped); softkey to reset Resume to current position
- Hold and Release buttons (pile up a lot of buttons to be either released or pressed when you press Release on the downbeat of the break)
- Always-accessible mute and solo buttons with both destructive and non-destructive soloing (destructive means when you press solo, it just mutes the other tracks rather than having a separate solo layer above the mute layer)
- Save and load sequences in internal format to dedicated SD card
- MIDI In configuration: n-voice polyphony starting from arbitrary track, routing of control messages to note or velocity input or directly to SID core MIDI modulators
- MIDI Out configuration: send track outputs to selected ports/channels
- Arpeggiator: 20 page design document, we'll see how much gets done
Front panel core:
- 16x8 button/LED matrix with red, yellow, green, and blue LEDs beneath each button; total light power of BLM is ~1000 Candelas
- Column select buttons with red/green LEDs and encoders below each column
- Row select buttons with red/green LEDs and encoders on each side of each row
- One 6-digit LED display and two 3-digit LED displays, to show parameter values, tempo, column numbers, etc.
- Columns correspond to five-character-wide sections of LCD
- 16 softkeys with LEDs, one below each column (5 chars) of the LCDs
- Variety of buttons
- Front panel core uses custom driver to run front panel; also runs both LCDs, relays MIDI data from its ports to the Sequencer core, and runs the visualizer (if enabled) in the background
- Keyboard mode: rows are octaves, columns are note values. Transmits MIDI note on/off messages to Sequencer core as a separate port. Velocity and controllers can be controlled by knobs.
- Visualizer: makes pretty pictures on the matrix that follow the sequence (not designed more specifically yet)
Other things to mention:
- Three linear PSUs: +5V 9A for digital electronics and front panel board (also regulated to +3.3V 2A), +12V 4A for SIDs and fans (also regulated to +9V 1A), +/-5V 2A for analog audio circuitry
- Custom boards for SIDs, front panel, and memory
- Two headphone jacks
- Two external audio inputs, connected through analog volume controls to L and R, respectively
- SID external audio inputs have analog volume controls on front panel
- ASIDITY can be used as an eight-channel MIDI-controlled audio mixer with per-channel modulatable effects. Connect devices to SID external inputs and use SIDs' L and R outputs to mix and pan them. Activate SIDs' filters or feedback for effects.
- ASIDITY can be used as a standard step sequencer.
- Using loopback modulators and operators, simple digital logic circuits can be constructed in the modulation matrices of ASIDITY.
- ASIDITY's modulation matrix is 239x1556, but calculating how many states it is capable of is difficult since a modulator can be connected to a maximum of 16 destinations, and a destination can have a maximum of 8 modulators connected to it. The number of possible states of connections to matrix outputs is on the order of 10^22, and to the inputs on the order of 10^53. This is the basis for our claim that ASIDITY will be the most powerful SID-based synthesizer in existence. However, at this point the numbers start getting pretty meaningless.
Suggestions for more awesome features, and suggestions that the features we plan are impossible, are welcome.
Edited by Sauraen, 24 June 2013 - 14:45.