Experimental Drum Machine

This is a page for "rough sketches" for an experimental drum machine project.

Features

  • Interchangeable sound ROMs
  • Should be "bendable" without risking damage to the CPU
  • Variable tuning on per-sample basis
  • Variable sample lengths
  • Simple to build using cheap, common components
  • Integral sequencer
  • MIDI sync and control

Some Ideas

Hardware

  • Four channels of audio, lowest sample number "wins"
  • Phase accumulators for each voice implemented in software, latch address out to EPROM pins
  • 8-bit DAC hanging off EPROM pins like the 626, one MUX for accent level, then MUX off the output of the DAC
  • Sample and Hold fed from MUX to separate outputs, mixed down to mono output
  • 256kB eprom = 18 bit address, 2 bits for output MUX, 2 bits for accent MUX

Software

Pattern Format:
0x00 (7-4) Sample 1 Select (3-0) Sample 0 Select
0x01 Sample 0 Tune
0x02 Sample 1 Tune
0x03 (as above)
---
0x09 (7-4) Accent Level (3-0) Sample 6 Select
0x0a (7-6) Clock divisor (5-0) Pattern Length
0x0b on are bytes containing the bit pattern for that step
Clock Divisor:
00 = 3
01 = 4
10 = 6
11 = 8