chipcrusher: DAC Emulator, Speaker Simulator and Noise Machine

User Interface

User Interface

Overview

chipcrusher is an vintage DAC emulator, a speaker simulator and noise machine. It’s an audio effect which plays back input audio through a simulation of early lofi digital audio codecs (DAC Encoding), adds grit (Background Noise), and outputs through a selection of speaker and filter impulse responses (Post-Processing).

It can work as a VST/AU/RTAS plug-in for most major sequencing audio programs and supported tracker programs on Windows and OS X.

There is a wide spectrum of results achievable with chipcrusher. Here’s a few use cases:

  • Uniquely destroy/mangle a beat, a guitar or any other audio track.
  • Play single hits and emulate the sound of old samplers.
  • Add ‘accurate dirt’ to chipsounds’s output.
  • Etc.

There are three main components in chipcrusher: DAC Encoding, Background Noise and Post-Processing. The audio inputs first go to the DAC Encoding. Then it get mixed with the Background Noise to finally get sent to the Post-Processing stage. Of course, each component can be bypassed on demand without muting the audio. Here’s the details of those 3 components:

1. DAC Encoding

1. DAC Encoding

DAC Encoding

DAC Encoding

More than a mere bitcrusher

chipcrusher’s DAC Encoding does the following passes on the input sound:

1) Resamples the input audio input from the host’s samplerate to a user specified ‘virtual’ samplerate.
2) Encodes/decodes that data by using specified techniques. (See “The Encodings” section below)
3) Change the weighting of bits in the DAC to emulate non-monotonic behavior.
4) Oversamples the decoded data to mimic the behavior of specific DACs. (Zero-Order Hold, PWM, etc)
5) Applies basic filtering: one pole low pass (RC Filter) and high pass (AC Coupling)
6) Finally it downsamples the result back into the output host samplerate.

The Encodings

  • LPCM (Linear pulse-code modulation):
    Examples: Compact Disc (if 16bit/44.1kHz), E-Mu SP12 (12bit/27.5kHz) E-Mu SP1200 (12bit/26.04kHz)
  • FPCM (Floating-point pulse-code modulation):
    Example: The YM301X series DAC used for Yamaha’s 4OP FM synthesizers encoded audio on 10.3 bits.
  • DPCM (Differential pulse-code modulation):
    Example: Delta modulation channel provided by the RP2A03/RP2A07 CPUs used in the Big N’s 8bit console uses Bits=6 and Parameter=1
  • A-Law and μ-Law:
    Examples: Early US samplers and drum machines which used AM6070/AM6072 ICs like the LINN Drum machines, and the E-MU Emulator I/II/Drumulator.
  • DIALOGIC:
    Example: MSM(OKI)6295 Used in LOTS of late 80′s and early 90′s arcade titles (All non Q-sound CPS1 titles)
  • BRR (Bit Rate Reduction)
    Example: S_ny’s specific ADPCM Encoding used in the S-DSP of the SNES.
  • YADPCM :
    Examples: N’s ‘Oui-mote’ and various Yamaha FM chips for sample playback.
  • LPC10:
    Example: Speak & Spell
  • PWM (Pulse-width modulation):
    Examples: Some legacy software on the Apple II SoftDAC (3 and 4 bit versions) and DAC522. You will find that they are NASTY sounding. You have been warned.
  • PDM (Pulse-density modulation):
    This is usually run at VERY high sample rates, (SACD/DSD uses 2.8224 MHz, but since here we only have straight PCM for input, whose rate depend on the host rate (typically 44/48/96kHz), it is quite useless to use PDM at higher frequency, since we don’t have extra information to encode in time.


2. Background Noise

2. BACKGROUND NOISE

Noises were carefully recorded and looped from our collection of gear (consoles and arcade boards) which were also used for the research behind chipsounds. Just select the preset and adjust volume to taste. Note: default volumes should be used if you want to keep it subtle.

Some units generate different noises depending on external factors, for instance, it is well known that the Commodore 64 and Vectrex background noises were directly related to what was displayed at a particular time on the screen. In this case various noises are available.

Background Noise

Background Noise

Noise selection

  • Atari: 2600, STf, 800XL
  • Bally Astrocade
  • C64: Brown breadbox, C64C with 8580, through the RF
  • C128
  • GameBoy: (DMG-1), Color (CGB)
  • Gemini (Atari 2600 clone)
  • Genesis 1 (using headphones – two levels), using the audio out, and the RF modulator
  • Intellivision: I (RF), III (RF)
  • Leisure Vision
  • NES and VS arcade PCB
  • Odyssey2
  • Casio PV1000 RF (good luck finding your own :)
  • Sega Master System (RCA and RF)
  • Super PacMan arcade PCB
  • Vectrex (4 different display patterns)
  • VIC-20


3. Post-Processing

3. POST-PROCESSING

Post-Processing

Post-Processing

How does it work?

A very efficient convolution engine allows chipcrusher’s sound (which can be very harsh at times) to go through a few of the most well loved vintage gaming devices, computers or monitors. Each impulse gives a totally different tonal quality to the sound.
The available impulses are split into 5 categories.

Computers

Speaker and Casings impulses of various PC clones but also 2 Apple classics, the Apple IIe and the Apple IIGS.
AIIeAIIGSPCSpkr1and more...

Filters

Mostly filled with the 3 variants of AMIGA Original Chip Set machines (A500, A1000 and A2000), with the infamous LED filters on and off. We also included the extreme lowpass filter from the SK1.
SK1Amiga 2000Amiga 500and more...

Monitors

From the classic Commodore monitors used with the C64, to the Mac Plus and even a 50s Television set.
macplusAmiga50s_tvand more...

Game Devices

Most portable gaming devices, or speaker-bearing devices of the day including a Coleco Mini-Arcade, and a fullsize Galaxian Arcade Cabinet and Nintend_ VS cabinet. A Oui-Mote, a Vectrex, 4 different gameboy’s (DMG-1, CGB, GBA and GBA clam shell) and more!
VS_cabsnsDMG-01and more...

Music Instruments

Various classic drum machines, keyboards who came with a speaker.
stylophoneCasio SK1shs10and more...


Plogue Art Et Technologie, Inc.