Caustic 1.0: The Foundation
Core Release Metadata
Official Release Date: 2011.
Initial Build Number: 1 (v1.0.0).
First Stable Public Build: 1.1.0 (Build 6).
APK File Size: 5 MB.
Monetary Cost (Historical): Approximately £2.49 / $4.00.
Distribution Model: In-app purchase paradigm.
Software Certificate: Signed by Rejean Poirier, SingleCellSoftware.
System Requirements & Architecture
Minimum Operating System: Android 2.1 (Eclair MR1).
Processor Architecture: ARMv7 (armeabi-v7a).
Graphics Specification: OpenGL ES 1.0.
Display Targets: Small, normal, and large screen densities at 160 DPI.
Orientation: Hardcoded to landscape mode.
Permissions: READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, WAKE_LOCK, BILLING.
Audio Engine Specifications
Processing Logic: Utilised a combination of 16-bit fixed point and floating-point mathematical routines.
Audio API: Standard Android Java AudioTrack API.
Performance: Characterized by high, hardware-dependent latency prior to the version 3.0 OpenSL ES implementation.
Bit Depth Support: Restricted to 16-bit PCM WAV files for user samples.
Sample Rate Support: 44.1 kHz (Note: Users reported the engine "did not like" 48 kHz files during this era).
The Initial Machine Rack
The version 1.0.0 rack was restricted to a specific pre-configured set of machines rather than a dynamic selection system.
Subsynth (1 instance): The virtual analog core using subtractive synthesis. It featured dual oscillators, a resonant filter, and LFOs. In the initial prototype, the UI was described as "pretty ugly".
Bassline (2 instances): Monophonic lead synthesizers loosely modeled after the Roland TB-303. It was limited to a 3-octave note range and featured a built-in 16-step pattern editor.
Beatbox (1 instance): An 8-channel sample-based drum computer.
PCMSynth (1 instance): A pulse code modulation sample player featuring a "weird double keyboard" UI layout.
Machine-Specific Logic & Constraints
Envelope Mapping: Utilised linear knob mapping for ADSR envelopes (exponential mapping was not introduced until v1.3.0).
Sample Management: Beatbox kits and PCMSynth presets did not "wrap" or internalise raw WAV data; presets contained only file path references to loose samples on storage.
Beatbox Interaction: Samples were loaded into channels by long-pressing the "Play/Preview" button (changed to an ellipses button in version 2.1).
Automation: Recording was possible in real-time within "Song Mode" only, with no provision to edit or view the resulting automation curves.
MIDI Support: Restricted to basic Note On/Off messages; no support for Control Change (CC) or MIDI Learn was present.
Mixer & Effects
Mixer Architecture: 7 strips (6 machine channels + 1 master section).
Per-Channel EQ: Three-band EQ knobs (Bass, Mid, High).
Effect Limits: Maximum of 2 insert effects per machine.
Signal Flow: Serial path from top insert to bottom insert before reaching the mixer.
Global Master Effects: Delay and Reverb.
Historical Context
Development Origins: Conceived as a subtractive synthesis test prototype while the developer was learning synthesis.
Naming History: Initially titled "No good reason" as a self-deprecating reference to Propellerhead Reason. The name "Caustic" was suggested by a friend to fit the "acid" techno aesthetic.
Early Bugs: Specific reports included graphics memory leaks on NVidia Tegra-based hardware using Android 2.3 (Gingerbread).
Archival Gaps
Specific internal build notes for patches between v1.1.2 and v1.2.0: Specific technical detail not documented in archived sources.
The exact center frequencies for the v1.0 version of the 3-band EQ: Specific technical detail not documented in archived sources. (Note: Rej provided frequency data for the v3.1 EQ rewrite, but v1.0 specifications are missing).
Total maximum sample length for PCMSynth in the 1.0 build: Specific technical detail not documented in archived sources.