1. Quick Start Guide
Welcome to FASTAplayer! This comprehensive DNA music generator offers multiple instruments, advanced synthesis, and genetic manipulation tools. This guide will get you creating DNA music in minutes.
What You Need
- A modern web browser (Chrome, Firefox, Safari, or Edge)
- FASTA files containing DNA sequences (or use our examples and plasmids)
- Speakers or headphones
- JavaScript enabled in your browser
Getting Started in 4 Steps
- Open FASTAplayer: Navigate to the main application (index.html)
- Upload DNA Files: Use the file upload sections for melody and rhythm sequences
- Configure Settings: Choose scale, rhythm pattern, tempo, and audio effects
- Press Play: Click the play button to hear your DNA music!
💡 Tip: Start with the Random Patch button to generate a complete configuration instantly, then explore the individual instruments and plasmids to understand the system.
2. File Upload & Formats
Supported File Formats
FASTAplayer accepts FASTA format files (.fasta, .fa, .txt) containing DNA sequences.
File Structure
>Sequence_Name_1
ATCGATCGATCGATCG
>Sequence_Name_2
GCTAGCTAGCTAGCTA
Upload Sections
🧬 Melody File
Contains DNA sequences that will be converted to musical notes. Each codon (3-letter sequence) maps to a specific note in the selected scale.
🥁 Rhythm File
Contains DNA sequences that determine note durations and timing. Each codon maps to a specific rhythm value in the selected rhythm pattern.
File Upload Process
- Click "Choose File" in either the Melody or Rhythm section
- Select your FASTA file from your computer
- The file name will appear next to the upload button
- Repeat for the other file type if desired
- Both files will be processed automatically when you press Play
⚠️ Important: Make sure your DNA sequences contain only the letters A, T, C, and G. Other characters may cause unexpected results.
3. Basic Controls
Transport Controls
▶️ Play/Pause
Starts playback and toggles to Pause while running. The button is disabled until melody and rhythm sequences are loaded.
⏮️ Restart
Returns playback to the beginning of the sequence. There is no separate Stop button—use Pause to halt, Restart to reset the position.
⏺️ Record
Records the live audio output to a file. A chronometer beside the transport shows elapsed recording time, and the button changes to Stop while recording.
Looping
Looping is set per sequence rather than globally. Each of the Melody and Rhythm file rows has its own 🔄 toggle button; enable it to make that sequence repeat when it reaches the end. Super Evolution has a separate Loop: ON/OFF button in its own control row.
Tempo Control
The tempo slider controls the playback speed of your DNA music:
- Range: 40-200 BPM (Beats Per Minute)
- Default: 120 BPM
- Real-time: Changes apply immediately during playback
- Metronome LED: A small indicator beside the slider blinks in time with the current tempo
Volume Controls
FASTAplayer has one volume slider per sound source plus a master output, so you can balance the instruments against each other. All are on a 0.00–1.00 scale except Noise, which is deliberately limited to a low ceiling.
| Slider | Range | Default | Controls |
| Synth Vol | 0.00 – 1.00 | 0.50 | Synthesizer (oscillator) output |
| Noise Vol | 0.00 – 0.20 | 0.00 | Noise generator layer (low ceiling by design) |
| Sampler Vol | 0.00 – 1.00 | 0.90 | Sampler instrument |
| Drum Vol | 0.00 – 1.00 | 0.70 | Drum Machine |
| Tape Vol | 0.00 – 1.00 | 0.20 | Tape Deck |
| Master Vol | 0.00 – 1.00 | 0.52 | Final output stage after all instruments |
⚠️ Levels: The defaults sit near half scale, but nothing prevents you from driving the master to 1.00. When stacking several instruments with heavy effects, raise the master gradually and watch for clipping rather than assuming a built-in safety limit.
Scale Selection
FASTAplayer offers 81 built-in scales, modes and harmonic structures. Each scale creates unique musical relationships between DNA codons and musical notes.
There are two ways to reach them, and they don't show the same list. The Scale Quick Select dropdowns (one for the Synthesizer, one for the Sampler) hold the 50 most-used scales for fast switching. The Scale Presets panel holds the complete catalogue, organised by the categories below—use it when you want a chord voicing or an unusual scale that isn't in the quick list.
Common Scales
- Major Scale: The standard major scale (Ionian mode)
- Natural Minor Scale: The natural minor scale (Aeolian mode)
- Harmonic Minor Scale: Minor scale with raised 7th degree
- Melodic Minor Scale: Minor scale with raised 6th and 7th ascending
- Major Pentatonic: Five-note scale derived from the major scale
- Minor Pentatonic: Five-note scale derived from the minor scale
- Chromatic Scale: All twelve semitones of the octave
Modes
- Ionian Mode: The standard major scale (1st mode)
- Dorian Mode: 2nd mode of the major scale, minor with raised 6th
- Phrygian Mode: 3rd mode of the major scale, minor with flattened 2nd
- Lydian Mode: 4th mode of the major scale, major with raised 4th
- Mixolydian Mode: 5th mode of the major scale, major with flattened 7th
- Aeolian Mode: 6th mode of the major scale (natural minor)
- Locrian Mode: 7th mode of the major scale, diminished scale
Chord Scales
- Major Triad: Major chord (1-3-5)
- Minor Triad: Minor chord (1-b3-5)
- Diminished Triad: Diminished chord (1-b3-b5)
- Augmented Triad: Augmented chord (1-3-#5)
- Power Chord: Two-note chord with root and fifth (1-5)
- Sus2 Chord: Suspended 2nd chord (1-2-5)
- Sus4 Chord: Suspended 4th chord (1-4-5)
- 7sus4: Dominant 7th with suspended 4th (1-4-5-b7)
- Major Add 9: Major triad with added 9th (1-3-5-9)
- Minor Add 9: Minor triad with added 9th (1-b3-5-9)
- Major 7th: Major 7th chord (1-3-5-7)
- Major 7th #11: Major 7th chord with sharp 11th (1-3-5-7-#11)
- Major 7th b5: Major 7th chord with flat 5th (1-3-b5-7)
- Dominant 7th: Dominant 7th chord (1-3-5-b7)
- Dominant 7th #5: Dominant 7th with sharp 5th (1-3-#5-b7)
- Dominant 7th b5: Dominant 7th with flat 5th (1-3-b5-b7)
- Dominant 7th b9: Dominant 7th with flat 9th (1-3-5-b7-b9)
- Dominant 7th #9: Dominant 7th with sharp 9th (1-3-5-b7-#9)
- Minor 7th: Minor 7th chord (1-b3-5-b7)
- Minor Major 7th: Minor triad with major 7th (1-b3-5-7)
- Half-Diminished 7th: Half-diminished 7th chord (1-b3-b5-b7)
- Diminished 7th: Diminished 7th chord (1-b3-b5-bb7)
- Major 6th: Major 6th chord (1-3-5-6)
- Minor 6th: Minor 6th chord (1-b3-5-6)
- Dominant 9th: Dominant 9th chord (1-3-5-b7-9)
- Major 9th: Major 9th chord (1-3-5-7-9)
- Minor 9th: Minor 9th chord (1-b3-5-b7-9)
- Dominant 11th: Dominant 11th chord (1-3-5-b7-9-11)
- Minor 11th: Minor 11th chord (1-b3-5-b7-9-11)
- Dominant 13th: Dominant 13th chord (1-3-5-b7-9-11-13)
- Major 13th: Major 13th chord (1-3-5-7-9-11-13)
- Minor 13th: Minor 13th chord (1-b3-5-b7-9-11-13)
Scales & Modes
- Major Blues: Six-note scale based on major pentatonic with added blue note
- Minor Blues: Six-note scale based on minor pentatonic with added blue note
- Diminished (WH): Octatonic scale starting with whole step
- Diminished (HW): Octatonic scale starting with half step
- Lydian Dominant: Lydian scale with dominant 7th (1-2-3-#4-5-6-b7)
- Mixolydian b6: Mixolydian scale with flat 6th (1-2-3-4-5-b6-b7)
- Locrian #2: Locrian scale with sharp 2nd (1-#2-b3-4-b5-b6-b7)
- Altered: Super Locrian scale (1-b2-b3-b4-b5-b6-b7)
- Locrian #6: Locrian scale with sharp 6th (1-b2-b3-4-b5-6-b7)
- Ionian #5: Major scale with sharp 5th (1-2-3-4-#5-6-7)
- Dorian #4: Dorian scale with sharp 4th (1-2-b3-#4-5-6-b7)
- Phrygian Dominant: Phrygian scale with major 3rd (1-b2-3-4-5-b6-b7)
- Lydian #2: Lydian scale with sharp 2nd (1-#2-3-#4-5-6-7)
- Super Locrian b7: Super Locrian scale with flat 7th (1-b2-b3-b4-b5-b6-b7)
- Super Locrian bb7: Super Locrian scale with b6 and 6 (1-b2-b3-b4-b5-b6-6)
- Augmented: Augmented scale with alternating whole and minor third steps
Unusual Scales
- Whole Tone Scale: Scale built entirely of whole steps
- Diminished Scale: Octatonic scale alternating whole and half steps
- Enigmatic Scale: Scale created by Giuseppe Verdi
- Hirajōshi Scale: Traditional Japanese pentatonic scale
- Insen Scale: Japanese pentatonic scale
- Hungarian Minor: Minor scale with raised 4th and 7th
- Neapolitan Scale: Minor scale with lowered 2nd degree
- Double Harmonic: Scale with flat 2nd and raised 7th
Microtonal & Alternate Systems
- Quarter Tone Scale: 24-tone system with quarter tones
- Bohlen-Pierce Scale: Alternative scale based on the tritave rather than octave
- Gamelan Pelog: Indonesian seven-tone scale used in gamelan music
- Wendy Carlos Alpha: Experimental scale by electronic music pioneer
Harmonic Series & Just Intonation
- Harmonic Series: Natural overtone series based on acoustic principles
- Pythagorean Tuning: Scale based on pure perfect fifths
- Just Intonation (Major): Major scale with pure integer frequency ratios
Scala Scale Import (.scl)
In addition to the built-in presets above, FASTAplayer can import custom tuning systems from Scala scale files (.scl). This is especially useful for microtonal, just-intonation, and experimental scales not included in the preset library.
Use the Scala Scale Import (.scl) control in Basic Settings (below the scale selectors) and click Import .scl to choose one or more .scl files. A status message confirms how many scales were imported, and each imported scale appears in the list beneath the button.
Imported scales are added to the application as Imported Scales and become available in:
- Synth Scale Presets and Sampler Scale Presets panels (category: Imported Scales)
- Scale quick-select dropdowns for the Synthesizer and Sampler
- Sequence Creator SuperEvolution mode, where each import is assigned a dedicated codon for scale selection
Each imported scale is parsed from cent values or ratios in the file, mapped across octaves 2–12, and played with its exact microtonal frequencies on the Synthesizer and Sampler. Up to 15 imported scales can be loaded in a session (one reserved codon per import).
💡 Tip: Large libraries of
.scl files are available from the
Scala archive. Import a scale, select it from the quick-select menu, and audition it against your melody sequence before building a full composition.
Rhythm Selection
FASTAplayer includes 33 rhythm presets, most with evocative names inspired by biological and scientific concepts. Each preset defines how DNA codons map to rhythm durations, creating diverse timing patterns for your compositions.
Standard & Fundamentals
- Standard Set: The current reference codec, and the one used by MIDI import and export. All 64 codons carry a distinct duration measured in quarter notes. Choose this whenever you want your DNA to round-trip faithfully through MIDI.
- Legacy Standard: The previous reference codec, kept for compatibility. Use it to play back DNA that was created before the current standard was introduced; in this older table
CTT (rather than TTT) served as the chord marker.
- Nucleotide Pulse: Basic rhythm pattern with common note durations. Perfect for learning the fundamentals.
- Helicase Spiral: Waltz-inspired 3/4 rhythm patterns. Creates flowing, graceful musical phrases.
The Standard Rhythm Codec
The Standard Set preset is worth understanding in detail, because it is the format used whenever FASTAplayer converts between MIDI and DNA.
- The unit is the quarter note. A duration value of
1 means one quarter note (semínima), 2 means a half note, 4 a whole note, and 1/2 an eighth note. Values are written as plain fractions rather than note names.
- All 64 codons are used, spanning
1/64 of a quarter note at the shortest up to 8 quarter notes at the longest. The scale is roughly logarithmic, so short durations get finer resolution than long ones.
- Codons run in ascending order.
AAA is the shortest value and durations grow steadily through the alphabetical codon order, so ATT is 1/4, CTT is 1 (one quarter note), GGC is 2, and TAT is 4.
TTT — The Chord Marker
The codon TTT maps to duration 0, which is not a length at all but an instruction: play the next note at the same time as this one. This is how chords and any other simultaneous notes are encoded in a linear DNA sequence.
To write a three-note chord, give the first two notes the duration codon TTT and give the third note the actual duration you want the chord to sound for. The player stacks the notes marked TTT and releases the whole group together when the final note's duration elapses.
Melody: CGC CTA CGT (C4, E4, G4)
Rhythm: TTT TTT CTT (stack, stack, hold for 1 quarter note)
💡 Note: A pause can never act as a chord marker. If a melody codon resolves to a rest, its TTT rhythm codon is treated as an ordinary very short duration instead of stacking, so rests always break a chord group.
Style Presets
- Quantum Fluctuation: Jazz swing patterns with dotted eighth notes and syncopated rhythms.
- Mycorrhizal Network: Latin-inspired rhythms with complex polyrhythmic structures.
- Neural Oscillator: Techno-inspired patterns with steady, driving electronic rhythms.
- Protoplasm Drift: Ambient patterns with long, sustained notes and slow transitions.
- Binary Cascade: Minimalist pulse patterns with additive and repetitive structures.
- Mitochondrial Kinetics: Drum & bass patterns with rapid, energetic breakbeat rhythms.
- Enzyme Catalysis: Irregular, stuttering rhythms with extreme timing contrasts.
Complex Meters
- Fractal Resonance: Triplets, quintuplets, septuplets, and nonuplets in mixed patterns.
- Hyphal Entanglement: Quintuplet-focused rhythms with varied groupings.
- Phosphorescent Flow: Odd-meter combinations of triplets, sevenths, and ninths.
Scientific & Experimental
- Quantum Entanglement: Complex overlapping rhythms creating quantum-inspired musical structures.
- Viral Replication: Self-replicating rhythm patterns that evolve and multiply.
- Crystalline Lattice: Geometric, algorithmic patterns with precise, mathematical timing.
- Bioluminescent Pulse: Glowing, organic rhythms that pulse like living organisms.
- Bacterial Quorum: Coordinated rhythmic patterns inspired by bacterial communication.
- Mycelial Matrix: Interconnected fungal-network rhythms with branching phrases.
- Neural Oscillation: Brain-wave-inspired patterns from delta to gamma frequencies.
- CRISPR Sequence: Precise, editing-style rhythms inspired by gene modification.
- Cellular Automata: Emergent patterns inspired by cellular automata rules.
- Ion Channel Flux: Rapid ion-flow rhythms with membrane-potential dynamics.
- Neurotransmitter Wave: Synaptic transmission rhythms across neurotransmitter cycles.
- Symbiotic Oscillation: Cooperative call-and-response patterns between paired voices.
- Nanobotic Swarm: Micro-scale coordinated movement with swarm-like precision.
- Cybersynaptic Loop: Recursive mind-machine feedback loops with neural interface timing.
- Psychotropic Trance: Altered-state rhythms with transformative cyclical patterns.
- Holographic Interference: Wave-interference patterns with phase and diffraction timing.
- Dark Matter Resonance: Mysterious, ethereal patterns with unusual timing relationships.
- Organelle Pulsation: Cellular organelle rhythms from mitochondrial to ribosomal cycles.
- Singularity Collapse: Accelerating patterns that compress from whole notes to 32nds.
💡 Rhythm Tips: The Synthesizer, Sampler and Tape Deck all take their note and sample durations from the Rhythm Genetic Table, so a preset change or a manual edit affects all three at once.
⚠️ Drum Machine exception: The Drum Machine sequences its DNA independently using its own built-in duration table, which follows the Legacy Standard mapping. Changing the rhythm preset or editing the Rhythm Genetic Table in the main interface does not change Drum Machine timing. Use the Drum Machine's own tempo and swing controls to adjust its feel.
4. Creating Your First Composition
Step-by-Step Tutorial
- Prepare Your DNA Files: Create or obtain FASTA files with DNA sequences
- Upload Melody File: Click "Choose File" in the Melody section and select your DNA file
- Upload Rhythm File: Click "Choose File" in the Rhythm section and select your rhythm DNA file
- Choose Scale: Select "Chromatic Scale" to hear the bundled example melodies as originally encoded
- Choose Rhythm: Select "Standard Set" for predictable timing
- Set Tempo: Start with 120 BPM using the tempo slider
- Adjust Volume: Set master volume to 50%
- Press Play: Click the play button and listen to your creation
Experimenting with Parameters
Once you have basic playback working, try these modifications:
- Change the scale to hear different harmonic relationships
- Adjust the tempo to make the music faster or slower
- Try different rhythm patterns to change the feel
- Enable loop mode for continuous playback
💡 Pro Tip: Keep notes about which combinations sound best with your DNA sequences. This will help you develop your own compositional style.
5. Synthesizer Controls
The synthesizer section is the core DNA music generation engine, offering comprehensive sound design capabilities with advanced synthesis and effects processing.
Oscillator Section
- Waveform Selection: Choose from Sine, Square, Sawtooth, and Triangle waves. Each has distinct harmonic characteristics.
- Waveform Morph: Blends continuously between the four wave shapes for evolving timbres. The control runs from 0 to 1000; the pure waveforms sit at evenly spaced landmarks along that range, and values in between produce hybrid shapes.
- Oscillator Gain: Level of the oscillator before it reaches the filter and effects chain (0.00–1.00, default 0.60).
ADSR Envelope
The ADSR (Attack, Decay, Sustain, Release) envelope shapes how each note sounds over time. All four are expressed in seconds in the interface:
| Control | Range | Default | Effect |
| Attack | 0.002 – 1.000 s | 0.020 s | Time to reach full volume. Very short values give a percussive click; long values fade in. |
| Decay | 0.021 – 1.000 s | 0.100 s | Time to fall from the peak to the sustain level. |
| Sustain | 0.020 – 1.000 | 0.700 | Level the note holds at while sounding. |
| Release | 0.020 – 1.000 s | 0.400 s | Time to fade out after the note ends. |
💡 Note: None of the envelope stages can be set to a true zero. The minimums exist to avoid clicks and audio glitches, so the fastest possible attack is 2 ms rather than instantaneous.
Filter Section
| Control | Range | Default | Effect |
| Filter Cutoff (low-pass) | 50 – 5000 Hz | 2000 Hz | Removes high frequencies. Lower values create darker, warmer sounds. |
| Filter Resonance | 0 – 20 | 1 | Emphasises frequencies near the cutoff. High values create resonant, "peaky" tones. |
| High-Pass Filter | 20 – 3000 Hz | 80 Hz | Removes low frequencies. Useful for thinning out a bass-heavy patch. |
| High-Pass Resonance | 0.1 – 10 | 1.0 | Emphasis at the high-pass corner frequency. |
| Filter LFO Rate | 0.1 – 5 Hz | 0.5 Hz | Speed of the low-frequency oscillator sweeping the cutoff. |
| Filter LFO Depth | 0 – 3000 Hz | 500 Hz | How far the LFO moves the cutoff frequency. |
Advanced Modulation
| Control | Range | Default | Effect |
| Glide | 0.01 – 2.00 s | 0.10 s | Portamento: how long the pitch takes to slide from one note to the next. |
| Vibrato Frequency | 0.1 – 12.0 Hz | 6.0 Hz | Speed of the pitch wobble. |
| Vibrato Intensity | 0.0 – 5.0 | 1.0 | Depth of the pitch wobble. |
| Tremolo Rate | 0.1 – 15.0 Hz | 4.0 Hz | Speed of the volume pulsing. |
| Tremolo Depth | 0.00 – 1.00 | 0.50 | Depth of the volume pulsing. |
Pitch, Tuning and Octave Range
The Synthesizer and the Sampler each have their own independent set of pitch controls, so you can transpose or retune one without affecting the other.
| Control | Synthesizer | Sampler | Notes |
| Transpose | 0 – 12 semitones | 0 – 11 semitones | Upward only. To transpose downward, shift the octave range instead. |
| Detune | 0 – 100 cents | 0 – 100 cents | Fine upward tuning offset, under one semitone. |
| A4 Reference | 432 – 444 Hz | 432 – 444 Hz | Concert pitch reference, default 440 Hz. Retunes the entire instrument. |
| Min Octave | 2 – 7 | 2 – 7 | Default 2. |
| Max Octave | 2 – 7 | 2 – 7 | Default 7. |
| Scale | Quick-select or preset panel | Quick-select or preset panel | Both instruments can run different scales at the same time. |
How Out-of-Range Notes Are Handled
Transposing a melody, or narrowing the octave range, will often push notes outside the window the instrument can play. FASTAplayer resolves this by octave folding rather than by clamping to the nearest edge note.
Folding preserves the pitch class—the letter name of the note—and moves it by whole octaves until it lands inside the available range. A D1 played on an instrument limited to octaves 2–7 becomes D2, not the closest available pitch. This keeps the melodic contour and harmony intact even when the range is tight, and it means a transposed passage stays recognisably the same tune.
💡 Tip: The piano visualizer shows exactly which note ended up sounding after transposition and folding, so if a passage sounds unexpectedly displaced, watch the keyboard to see where the notes are actually landing.
6. Audio Effects
FASTAplayer includes a comprehensive suite of audio effects to enhance your DNA music compositions. Effects are applied in real-time and can be adjusted during playback.
Time-Based Effects
| Effect | Controls | Default |
| Reverb | Room size 0.00–1.00, mix 0.0–2.0 | 0.50 size, 1.3 mix |
| Delay | Time 100–1000 ms, feedback 0.00–0.90, mix 0.00–1.00 | 200 ms, 0.10, 0.01 |
| Phaser | Depth 100–700 Hz, speed 0.1–2.0 Hz, mix 0.00–1.00 | 500 Hz, 0.5 Hz, 0.30 |
| Flanger | Depth 0.0000–0.0020, speed 0.11–5.0 Hz, feedback 0.00–0.60 | 0.0002, 0.5 Hz, 0.05 |
💡 Note: The reverb mix goes above 1.0, up to 2.0, which lets the wet signal exceed the dry one for heavily washed-out ambient textures. There is no separate reverb decay-time control—room size governs the tail length.
Modulation Effects
| Effect | Controls | Default |
| Chorus | Rate 0.1–5.0 Hz, depth 0.0000–0.0020, feedback 0.000–0.010 | 1.5 Hz, 0.0010, 0.005 |
| Tremolo | Rate 0.1–15.0 Hz, depth 0.00–1.00 | 4.0 Hz, 0.50 |
Chorus and flanger depth values are very small because they are expressed as delay times in seconds—two milliseconds of modulated delay is already a strong effect.
Dynamic Processing
| Control | Range | Default |
| Compressor Threshold | −60 – 0 dB | −24 dB |
| Compressor Ratio | 1 – 20 : 1 | 4 : 1 |
| Compressor Attack | 0.001 – 0.100 s | 0.003 s |
| Compressor Release | 0.01 – 1.00 s | 0.25 s |
| Distortion Amount | 0 – 100 | 0 |
| Distortion Boost | 1.0 – 10.0 | 1.0 |
| Distortion Mix | 0.00 – 1.00 | 1.00 |
Seven distortion algorithms are available: Default, Hard Clip, Soft Clip, Fuzz, Tube Overdrive, Rectifier and Tape Saturation. Each shapes the waveform differently, from gentle valve-style warmth to aggressive digital clipping.
Noise Generation
The noise generator is a separate sound layer with its own filter, modulation and effects chain, useful for ambient beds and experimental textures.
| Control | Range | Default |
| Noise Mix | 0.000 – 1.000 | 0.000 |
| Noise Boost | 0.0 – 12.0 | 0.0 |
| Noise Filter Cutoff | 20 – 6000 Hz | 2000 Hz |
| Noise Resonance | 0 – 20 | 1 |
| Noise LFO Rate | 0.01 – 5.00 Hz | 0.10 Hz |
| Noise LFO Depth | 0 – 5000 Hz | 0 Hz |
Fifteen noise colours are selectable: white, pink, brown, blue, violet, gray, red, orange, green, cyan, magenta, yellow, purple, teal and lime. The familiar ones (white, pink, brown) follow the standard spectral definitions; the rest are custom-shaped spectra offering a broad palette of textures.
The noise layer also has its own reverb (size and mix), tremolo (rate 0.1–15 Hz, depth 0.00–1.00), ping-pong delay (time 0–2200 ms, feedback 0.00–0.90, mix 0.00–1.00) and compressor (threshold −60–0 dB, ratio 1–20:1), all independent of the main effects chain.
EQ
A five-band equaliser sits on the master output, with bands centred at 60 Hz, 250 Hz, 1 kHz, 3.5 kHz and 10 kHz. Each band ranges from −12 dB to +12 dB in 0.5 dB steps and defaults to flat (0 dB).
The high-pass and low-pass filters are part of the Synthesizer's filter section rather than the master chain—see Synthesizer Controls for their ranges.
Advanced Features
- Real-time Processing: All effects work in real-time during playback
- Effect Bypass: Individual effects can be bypassed without removing them
- Preset Integration: Effects settings are saved and restored with patches
- Randomization: Effects parameters can be randomized for creative exploration
💡 Effect Tips: Start with subtle settings and gradually increase effect amounts. Use the Random Patch feature to discover unexpected effect combinations. Because several effects can add gain, keep an eye on the master level when layering distortion, reverb and compression together.
7. Instruments
FASTAplayer includes four DNA-driven instruments plus a dedicated Noise Generator, each with unique capabilities for music generation. Each can be used independently or in combination for complex compositions. The Sampler, Drum Machine, and Tape Deck are integrated as iframe modules, providing full functionality while maintaining the unified interface experience.
Available Instruments
🎹 Synthesizer
Advanced digital synthesizer with multiple waveforms, ADSR envelope, filters, and extensive effects processing.
🥁 Drum Machine
DNA-driven drum machine with amino acid samples, multiple drum sets, and rhythm plasmid integration.
🎵 Sampler
Multi-sample instrument with realistic instrument sounds (piano, guitar, flute, etc.) and keyboard visualization.
📼 Tape Deck
Custom audio sample player with tape saturation effects, delay, and reverb processing.
🌫️ Noise Generator
Colored noise layer with mix, filter, and dedicated effects for ambient and experimental textures.
🥁 Drum Machine
The Drum Machine is a sophisticated DNA-driven percussion instrument that transforms genetic sequences into rhythmic patterns using multiple drum sample sets. This instrument is fully integrated via iframe with complete functionality accessible through the main interface, featuring advanced sequencing capabilities and diverse sound generation options.
🎵 Drum Sample Sets
The Drum Machine offers multiple drum sample collections, each providing unique sonic characteristics and musical possibilities:
- Amino Acid Samples (Default): Scientific drum samples generated from vibrational spectroscopy data. Each of the 20 amino acids corresponds to a unique drum sound based on actual molecular vibrations.
- Silver Drum Kit: Acoustic kit built entirely from CC0 Freesound recordings — kicks, snares, hats, toms and cymbals.
- Tabla: Indian tabla drum samples offering exotic, world music flavors. Features traditional tabla sounds with authentic cultural character.
- Abandoned Drum Kit: A worn, lo-fi acoustic kit with a rougher, more characterful tone.
- Readymade 01: A pre-built electronic-leaning kit for immediate use.
- Sample Set Selector: Switch between collections from the Sample Set panel. Each set keeps the same 20-sample structure so patterns transfer between them unchanged.
💡 Adding your own kit: The Drum Machine reads the list of available kits from drum-samples/index.json. After placing a new kit folder in drum-samples/, regenerate that index by running node scripts/generate-drum-samples-index.mjs, and the kit will appear in the selector. The script skips any folder whose manifest is unreadable or whose sample files are missing, so a broken kit won't reach the menu.
🧬 Amino Acid Spectral Sonification
The amino acid sample set represents a unique scientific approach to drum sound generation, based on vibrational spectroscopy data from amino acid molecules. This creates authentic molecular representations through sound.
Spectroscopic Foundation
The frequencies in the amino acid dataset correspond to normal mode vibrations of amino acid molecules, derived from infrared (IR) and Raman spectroscopy. Each amino acid has a unique vibrational signature characterized by specific frequency modes:
- nu1 Mode: Primary vibrational mode (typically C-H stretching vibrations around 1600 cm⁻¹)
- nu3 Mode: Secondary vibrational mode (often N-H bending around 1400 cm⁻¹)
- nu5 Mode: Tertiary vibrational mode (C-C stretching and bending around 800-1300 cm⁻¹)
- nu7 Mode: Quaternary vibrational mode (ring breathing and skeletal vibrations around 700-800 cm⁻¹)
Sonification Process
The spectroscopic frequencies are transposed into the audible range (typically 200-2000 Hz) while preserving their relative relationships. This creates unique sonic signatures for each amino acid that reflect their molecular structure:
- Glycine (Gly): Simple structure produces clear, fundamental frequencies
- Aromatic amino acids (Phe, Tyr, Trp): Ring structures create complex harmonic spectra
- Charged amino acids (Asp, Glu, Lys, Arg): Ionic groups add distinctive frequency components
- Sulfur-containing (Met, Cys): Heavy sulfur atoms shift vibrational frequencies lower
Historical Context: Pioneers of Scientific Sonification
FASTAplayer builds upon a rich tradition of composers and researchers who have explored the intersection of science and music through sonification:
- Markus J. Buehler: MIT researcher who developed methods to translate amino acid sequences into musical compositions using vibrational spectra. His work demonstrated how protein structures could be analyzed and designed through musical representation, leading to AI-assisted protein design applications.
- David Worrall: Australian composer and sound artist who pioneered data sonification techniques, creating immersive polymedia compositions that transform complex scientific datasets into auditory experiences. His work established sonification as a legitimate artistic and analytical tool.
- Matthew Burtner: American composer who integrated environmental and scientific data into musical compositions, exploring the intersection of ecological data and music. His work demonstrates how natural phenomena can be represented through sound.
- Susan Alexjander: Composer who created "Sequencia," one of the first musical compositions based on DNA sequences, translating genetic information into musical form and establishing early precedents for genetic music.
Scientific Significance
This spectral approach to amino acid sonification offers several advantages:
- Molecular Fidelity: Preserves the actual vibrational characteristics of amino acids
- Structural Information: Different amino acid types produce distinct sonic signatures
- Biological Accuracy: Reflects real molecular properties rather than arbitrary mappings
- Educational Value: Provides insight into molecular structure through auditory perception
💡 Scientific Insight: The amino acid samples represent actual molecular vibrations transposed into audible frequencies. This creates a direct connection between the molecular structure of proteins and their musical representation, making the Drum Machine a unique tool for exploring protein structure through sound.
🎼 Step Sequencer
The Drum Machine features a comprehensive step sequencer with advanced pattern creation and manipulation capabilities:
- Pattern Grid: Fixed 16-step sequencer grid with visual step indicators. Each amino acid has its own track with clickable steps for pattern creation.
- Tempo Control: Adjustable tempo from 60-200 BPM with real-time tempo changes during playback. This is independent of the main interface tempo.
- Swing & Groove: Swing amount control (0-75) for adding groove and human feel to patterns.
- Beat Maker: A companion pattern-design tool opened from the Drum Machine's own toolbar, for building and exporting beats outside the step grid.
🎛️ Advanced Controls
- Transport Controls: Play, pause, stop, and reset buttons with visual feedback and real-time pattern display.
- Pattern Generation: Random pattern generator with intelligent probability distribution for each amino acid type.
- Pattern Management: Clear pattern function and pattern reset capabilities for quick experimentation.
- Visual Feedback: Real-time step highlighting, current position indicators, and active step visualization.
🎵 Audio Effects & Processing
The Drum Machine includes dedicated audio processing for enhanced sound quality and creative possibilities:
- Reverb: Convolution reverb with adjustable room size, decay time, and wet/dry mix for spatial depth.
- Distortion: Harmonic saturation and drive control for adding grit and character to drum sounds.
- Delay: Echo effects with adjustable delay time, feedback, and mix for rhythmic enhancement.
- Master Volume: Overall volume control with smooth gain staging and audio level management.
🧬 DNA Integration
The Drum Machine seamlessly integrates with FASTAplayer's DNA system for biological music generation, working with all drum sample sets:
- File Upload: Upload FASTA files containing DNA sequences for melody and rhythm pattern generation.
- Genetic Translation: When using amino acid samples: automatic translation of DNA codons to amino acids using the standard genetic code table. With other sample sets: DNA sequences map directly to sample triggers.
- Plasmid Support: Integration with rhythmic plasmids for musically coherent pattern generation across all sample sets.
- Real-time Processing: Live DNA sequence processing with immediate audio output and pattern generation, regardless of selected sample set.
🎛️ Interface Features
- Drum Pads: Interactive drum pads for each amino acid with visual feedback and click-to-play functionality.
- Visualizer: Real-time frequency analyzer with colorful spectrum display showing drum sound characteristics.
- Sample Set Selector: Panel for switching between the installed drum sample collections.
- Responsive Design: Optimized interface that works seamlessly within the main FASTAplayer iframe integration.
🔧 Technical Specifications
- Audio Engine: Web Audio API with low-latency processing
- Sample Format: WAV files with high-quality audio buffers
- Sequencer Resolution: 16th note timing with swing support
- Pattern Storage: Fixed 16-step grid
- Real-time Processing: Immediate parameter changes during playback
- Recording Capability: Built-in audio recording with WebM format support
💡 Drum Machine Tips: The Drum Machine works best with longer DNA sequences that provide more rhythmic variety. Use the Random Pattern button to generate interesting starting points, then manually edit steps for precise control. Try different sample sets — amino acid samples offer scientific authenticity, Silver Drum Kit provides familiar acoustic drums, and tabla samples add exotic flavors. Each sample set maintains the same 20-sample structure for consistent operation.
🎵 Sampler
The Sampler plays realistic instrument samples triggered by DNA sequences, with keyboard visualization and advanced sample processing.
Available Sample Sets
- Piano: Classical piano samples with rich harmonic content
- Violin: Expressive violin samples with warm timbre
- Bass: Deep bass samples with powerful low end
- Voice: Human voice samples with natural articulation
- Acoustic Guitar: Warm acoustic guitar samples with natural resonance
- Guitar: A second, brighter guitar set alongside the acoustic one
- Flute: Airy flute samples with breathy character
- Harpsichord: Classical harpsichord samples with bright, plucked character
- Ukulele: Bright ukulele samples with percussive attack
- Kalimba: African thumb piano with metallic, bell-like tones
- Water Drums: Unique water drum samples with liquid character
Features
- Keyboard Visualization: Visual keyboard shows which notes are being played
- ADSR Envelope: Individual attack, decay, sustain, and release controls
- Filtering: High-pass and low-pass filters with resonance control
- Effects: Convolution reverb, delay, and compression
- Independent Pitch Controls: Its own transpose (0–11 semitones), detune (0–100 cents), A4 reference (432–444 Hz), octave range (2–7) and scale selection, all separate from the Synthesizer's
- WebM Support: Automatic format detection with WebM/Opus compression
📼 Tape Deck
The Tape Deck is a custom audio sample player that simulates analog tape characteristics with vintage effects processing. This instrument is fully integrated via iframe with complete functionality accessible through the main interface.
Features
- Nucleotide-Based System: Reads DNA sequences ONE nucleotide at a time (A, T, C, G), not codons
- Built-in Sample Library: Ships with 33 field-recording and ambience samples—rain, birds, waterfalls, fire, forests, streets, crickets, machinery and science-fiction textures. Each nucleotide channel has its own dropdown for picking from the library.
- Ready to Play: Four defaults load automatically so the instrument makes sound immediately—rain on A, birds on C, waterfall on G and fire on T.
- Custom Sample Loading: Replace any channel with your own audio file, mixing custom and built-in samples freely across the four nucleotides
- Automatic Normalisation: Each loaded sample gets a calculated gain so samples of very different recording levels sit together evenly. The applied factor is shown beside the sample duration.
- Tape Saturation: Analog-style saturation and compression
- Vintage Effects: Tape delay, reverb, and EQ processing
- Crossfading: Smooth transitions between samples
- ZIP Patch Support: Save and load patches with custom samples
- Rhythm Integration: Uses rhythm codon durations for playback timing
Controls
- Gain & Compression: Input gain control and tape-style compression with makeup gain.
- Effects: Reverb mix and tape delay with BPM sync options.
- Sample Management: Load, clear, and organize custom audio samples with visual feedback.
- DNA Triggering: DNA sequences trigger different samples based on nucleotide mapping.
💡 Instrument Tips: Each instrument has its own scale and octave range settings. Experiment with different combinations - try using the synthesizer for melodies, drum machine for rhythm, and sampler for harmonic content.
8. Genetic Code Tables
FASTAplayer uses multiple genetic code tables, each serving a specific purpose in the DNA-to-music translation process. Each table maps DNA sequences to different musical elements, creating a comprehensive system for biological music generation.
Understanding the Different Genetic Tables
1. Melody Genetic Table
🎼 Purpose
Maps DNA codons (AAA-TTT) to musical notes based on the currently selected scale.
🎹 Editability
EDITABLE - You can customize mappings manually or let scale presets set them automatically.
🎵 Usage
Used by Synthesizer (Oscillator) and Sampler instruments to determine which notes to play.
2. Rhythm Genetic Table
⏱️ Purpose
Maps DNA codons to rhythm duration values. Under the Standard Set preset these are fractions of a quarter note, and TTT is reserved as the chord marker.
🎛️ Editability
EDITABLE - Use dropdown selectors to change mappings or let rhythm presets handle them.
🥁 Usage
Used by the Synthesizer, Sampler and Tape Deck for note and sample duration. The Drum Machine keeps its own separate duration table.
3. Sampler Genetic Table
🎵 Purpose
Maps codons to specific sample names and frequencies for the Sampler instrument.
🎛️ Editability
EDITABLE - Automatically set by scale and sample set selection, but can be customized.
🎹 Usage
Used exclusively by the Sampler instrument to select which audio samples to trigger.
4. Drum Machine Genetic Table (Amino Acid Code)
🧬 Purpose
Uses biological amino acid translation: DNA codons → amino acids → drum patches.
🥁 Drum System
Each of the 20 amino acids corresponds to a specific drum sound. Load individual patches or complete drum sets.
⏱️ Timing
Uses its own built-in duration table following the Legacy Standard mapping, independent of the main Rhythm Genetic Table.
5. Tape Deck Genetic Table (Nucleotide-based)
🧬 Purpose
Maps individual nucleotides (A, T, C, G) to sound files - reads ONE nucleotide at a time, not codons!
🎵 Sample System
Each of the 4 nucleotides triggers a different audio sample, chosen from the built-in library of 31 ambiences or replaced with your own file.
⏱️ Timing
Uses rhythm codon durations for playback timing, creating complex rhythmic patterns from simple nucleotide sequences.
6. Super Evolution Tables (3 specialized tables)
🎼 Root Note Table
Maps codons to pause plus the chromatic notes from C2 to D7 for Super Evolution transformations.
⏱️ Duration Table
Maps codons to duration values ranging from 1/512 up to 25 beats for Super Evolution sequencing.
🎵 Scale/Chord Table
Maps each of the 64 codons to a scale or chord type, chosen from a list of 65 available options.
All three Super Evolution tables are editable: each codon row has a dropdown, so you can reassign any codon to any available root note, duration or scale.
How to Use the Genetic Tables
- Choose Your Approach: Either select scale/rhythm presets to automatically set mappings, or manually edit individual codon mappings
- Edit Melody Mappings: Use the Melody Genetic Table to customize how codons map to musical notes
- Edit Rhythm Mappings: Use the Rhythm Genetic Table dropdowns to change duration mappings for all instruments
- Customize Sampler: Adjust Sampler mappings based on your loaded sample sets and preferred scales
- Load Drum Samples: For Drum Machine, load amino acid-based drum sets or individual patches
- Choose Tape Samples: For Tape Deck, pick a built-in ambience for each of the A, T, C, G channels or upload your own audio files
💡 Key Insight: Each instrument reads DNA through a different mapping system—codons to notes, codons to amino acids, single nucleotides to samples—but the Synthesizer, Sampler and Tape Deck share the same rhythm codon timing. That shared clock is what keeps them coherent while each interprets the sequence in its own way.
⚠️ Note: Custom mappings are stored locally in your browser. Clearing browser data will reset all mappings to their defaults.
9. Plasmids
Plasmids are pre-designed DNA sequences that correspond to specific musical patterns. Just like biological plasmids are small, circular DNA molecules that can be transferred between organisms, our plasmids are reusable DNA sequence patterns that can be easily integrated into your compositions.
Plasmids carry names drawn from molecular biology and laboratory life rather than from music theory, so a pattern called "Rolling Histones" or "Jumping Genes" tells you nothing about its musical shape from the title alone. Browse by category and audition them—the names are part of the project's character, not a description of the sound.
🧬 Melodic Plasmids
Sixty-seven melodic plasmids contain DNA sequences that correspond to specific melodic patterns.
Categories
- Arpeggios (22): Chord tones played in sequence, the largest source of clearly harmonic material. Examples: Hot Start, Life Spirals Downwards, Rolling Histones, Central Dogma, Forward Primer.
- Motifs/Phrases (25): Short melodic figures and fragments. Examples: Ethanol 70%, Crossing-Over, Für Elise (Beethoven), TATA Box Surprise, Anti-Pythagoraphobia.
- Pedal Note Patterns (12): Melodies built over a held or repeated anchor tone. Examples: Circuit Soup, Leading Strand, Thermus Aquaticus, Good Golly, Miss Dolly.
- Songs (4): Complete recognisable melodies—Clair de Lune (Debussy), Twinkle Twinkle Little Star, Odeon (Ernesto Nazareth), and Réveil dans les bois (Burgmüller). All are public-domain works.
- Genes (4): Real gene sequences played as music—OXT (oxytocin), INS (human insulin), TNF (tumour necrosis factor) and POMC (beta-endorphin).
🥁 Rhythmic Plasmids
Fifty-five rhythmic plasmids contain DNA sequences that correspond to specific rhythmic patterns.
Categories
- Synthetic Fragments (37): The main body of the collection—constructed rhythmic patterns of varying density and complexity. Examples: ACTG, Lysogenic Cycle, Mullis Wave, Moogwash, Tris Base.
- Euclidean (5): Beats distributed as evenly as possible across a cycle, the principle behind many traditional world rhythms. Examples: Jumping Genes, Blinking Illumina Colors, Paleogenomics Time Machine.
- Polyrhythms (4): Overlapping cycles of different lengths. Examples: The Ghosts in the Molecular Machines, Life Cycles, Bioelectric Layer, Repair Mechanism.
- Songs (5): Rhythm tracks matching the melodic Songs plasmids, plus one for Für Elise, so the two can be paired.
- Genes (4): Rhythm counterparts to the four gene sequences.
💡 Pairing tip: The Songs and Genes categories exist in both the melodic and rhythmic collections with matching names. Selecting the same title in both gives you the intended melody-and-rhythm pairing.
🎯 Cadence Plasmids
Forty-four cadence plasmids provide harmonic resolution patterns for the Super Evolution feature.
Categories
- Minor (20): Cadential patterns in minor tonalities. Examples: Adjacent Possible, Biomechatronix, Terminator Seeds, Ubiquitin.
- Major (12): Cadential patterns in major tonalities. Examples: Coomassie Blues, Thermocycler, Periodic Table, Flow Cytometry.
- Common Progressions (12): Widely used chord movements. Examples: Morphic Resonance, Hardy-Weinberg Equilibrium, Cell Cycle, Spindle Apparatus.
Features
- Harmonic Resolution: DNA sequences that create musically satisfying cadences
- Super Evolution Integration: Loaded into the Super Evolution sequence slot rather than the melody or rhythm slots
- Musical Context: Designed to work with various scales and harmonic progressions
Using Plasmids
- Select Plasmid Category: Choose from Melodic, Rhythmic, or Cadence plasmids
- Browse Available Plasmids: Each plasmid has a name and description
- Apply to Sequence: Use the plasmid dropdown to select a specific pattern
- Combine with Custom Sequences: Mix plasmids with your own DNA sequences
- Random Integration: The Random Patch feature automatically selects plasmids
Plasmid Integration
- Automatic Selection: Random Patch feature randomly chooses from available plasmids
- Fallback Support: If plasmids are unavailable, the system uses random DNA sequences
- Patch Compatibility: Plasmid selections are saved and restored with patches
- Multi-Instrument Support: Plasmids work across all instruments (Synthesizer, Drum Machine, Sampler, Tape Deck)
💡 Plasmid Tips: Plasmids provide musically coherent patterns that sound more polished than random sequences. Use them as starting points and modify the DNA sequences to create your own variations. The Random Patch feature is an excellent way to discover new plasmid combinations.
10. Patch System
The patch system allows you to save, load, and randomize complete configurations of FASTAplayer settings. This includes all instrument parameters, effects, DNA sequences, and custom audio samples.
What Patches Include
- All Instrument Settings: Synthesizer, Drum Machine, Sampler, and Tape Deck parameters
- Audio Effects: All effect parameters including reverb, delay, distortion, compression, etc.
- Musical Parameters: Scales, rhythm patterns, tempo, transpose, and octave ranges
- DNA Sequences: Melody, rhythm, and Super Evolution sequences
- Plasmid Selections: Chosen melodic, rhythmic, and cadence plasmids
- Custom Audio: Tape deck samples and drum machine sample sets
- Patch Title: Custom name for easy identification
🎲 Random Patch Feature
The Random Patch feature generates completely random configurations with a single click, creating unique and unexpected musical combinations.
🎲 Individual Randomize Buttons
In addition to the Random Patch feature, FASTAplayer includes eight specialized randomize buttons in the presets panel, each with distinct characteristics for different musical styles and sound design approaches.
Randomize Button Types
🎲 Mosaic
Basic Randomization: Standard parameter randomization with smooth, ambient/experimental characteristics. Uses moderate ADSR settings (attack: 0.3-0.5s, decay: 0.021-0.121s) and balanced effect parameters. Perfect for general exploration and learning the system.
🎲 Recombinant
Melodic Focus: Emphasizes musical parameters with melodic characteristics. Uses gentle ADSR settings (attack: 0.005-0.01s, decay: 0.021-0.071s) and moderate effects. Waveform morphing focuses on 650-750 range for smooth, musical tones.
🎲 Mutant
Experimental/Extreme: Creates more extreme, experimental sounds with medium to heavy effects. Uses aggressive ADSR settings (attack: 0.001-0.5s, decay: 0.021-0.521s) and high effect levels. High noise mix (0.10-0.90) and strong modulation effects.
🎲 Chimaera
Hybrid Characteristics: Combines melodic qualities with square/sawtooth waveforms for hybrid sounds. Uses balanced ADSR settings (attack: 0.001-0.201s, sustain: 0.1-0.7) and moderate effects. Waveform morphing focuses on 400-700 range for complex timbres.
🎲 Hybrid
Layered Fusion: Blends organic ambience with rhythmic drive. Uses a slow-bloom envelope (attack: 0.1-0.4s, sustain: 0.5-0.9), waveform morphing at crossover zones between wave types, prominent reverb, stacked modulation effects, V-shaped EQ (warm lows, airy highs), and an organic noise layer.
🎲 Degenerate
Lo-fi/Degraded: Creates degraded, lo-fi sounds with sharp attacks and short decays. Uses extreme ADSR settings (attack: 0.002-0.02s, decay: 0.021-0.07s) and heavily morphed waveforms. High noise tremolo depth (0.6-1.0) for vintage character.
🎲 Clone
Sterile Replication: Generates near-identical, consistent patches around pure waveforms. Uses snappy attacks (0.001-0.01s), high sustain (0.7-0.95), waveform morph locked to pure wave landmarks, narrow filter bands, minimal effects, flat EQ, near-silent noise, and aggressive compression for uniform dynamics. Preserves current reverb settings.
🎲 Custom
User-Defined: Uses the custom randomizer's "randomize all selected" functionality. Allows users to define their own parameter ranges and randomization preferences. Most flexible option for advanced users who want precise control over randomization.
How Randomize Buttons Work
- Parameter Preservation: All randomize buttons preserve current master volume and reverb settings to prevent audio spikes
- Noise Volume Protection: Current noise volume is always preserved to maintain consistent noise levels
- Real-time Application: Parameters are applied immediately and UI controls update automatically
- Evolution Mode Integration: When Evolution Mode is enabled, randomize buttons trigger evolution with the corresponding model
- Range Constraints: All parameters are constrained to their valid slider ranges to prevent errors
Randomization Includes
- Audio Parameters: ADSR envelope, waveforms, filters, effects, noise generation, compression, and EQ settings
- Musical Parameters: Scales, tempo, transpose, detune, octave ranges, and rhythm patterns
- DNA Sequences: Random DNA sequences or automatic plasmid selection for melody, rhythm, and Super Evolution
- Instrument Settings: Sampler presets, drum sample sets, tape deck parameters, and effect configurations
Saving Patches
- Configure all your desired settings across all instruments
- Optionally set a custom patch title
- Click "Save Patch" in the patch section
- Enter a descriptive name for your patch
- The system automatically detects custom audio files and creates a ZIP if needed
- Download the patch file (JSON or ZIP format)
Loading Patches
- Click "Load Patch" and select your patch file
- If the patch contains custom audio samples, you'll be prompted to browse for files
- Select the audio files or choose to skip custom samples
- All settings will be restored automatically
- Your DNA music will play with the new configuration
ZIP-Based Patch System
When patches contain custom audio samples (from the Tape Deck), the system automatically creates ZIP files for efficient storage and sharing.
ZIP Features
- Automatic Detection: System detects when custom audio files are present
- Efficient Storage: ZIP compression reduces file sizes compared to base64 encoding
- Sample Preservation: Original audio files are preserved in the ZIP archive
- Seamless Loading: Automatic extraction and file restoration during patch loading
- Fallback Support: JSON patches still work for patches without custom samples
Patch Management
- File Organization: Patches can be organized locally or shared with other users via file sharing
- Random Generation: One-click random patch generation for creative exploration and inspiration
- Plasmid Integration: Automatic plasmid selection during randomization for musically coherent results
- Export/Import: Share patches with custom samples via ZIP files or simple JSON patches
Patch Title System
Each patch can have a custom title for easy identification and organization.
- Default Title: "The Primordial Soup" for new patches
- Custom Titles: User-defined names for personal organization
- Random Titles: Generated descriptive titles for random patches
- Title Display: Shown in the patch interface and saved with the patch
💡 Patch Tips: Use the Random Patch feature to discover new sound combinations quickly. Save interesting random configurations with descriptive names. Create specialized patches for different musical styles or DNA sequence types. The ZIP system makes it easy to share patches with custom samples.
11. Advanced Features
FASTAplayer includes several advanced features for sophisticated DNA music creation and manipulation.
🧬 Evolution Mode
Evolution Mode is an advanced feature that automatically evolves your synthesizer parameters over time, creating dynamic, ever-changing soundscapes. When enabled, the synthesizer parameters continuously transition between different values, creating evolving musical textures.
Evolution Models
The system supports eight different evolution models, one for each randomize button. The percentage beside each is the chance that Random Patch enables that model when evolution mode is on; several can be active at once, and if none are selected Mosaic is forced on.
- Mosaic (Basic): Standard parameter evolution with smooth transitions between random values. Most commonly used model (80% probability in random patches). Corresponds to the Mosaic randomize button.
- Recombinant (Melodic): Melody-focused evolution that emphasizes musical parameters like scales, transpose, and harmonic content (40% probability). Corresponds to the Recombinant randomize button.
- Mutant: Mutation-based evolution with sudden parameter changes and dramatic shifts in sound character (30% probability). Corresponds to the Mutant randomize button.
- Degenerate: Degeneration-based evolution that gradually simplifies parameters over time, creating minimalist soundscapes (30% probability). Corresponds to the Degenerate randomize button.
- Chimaera: Combines multiple evolution strategies for complex, unpredictable parameter changes (20% probability). Corresponds to the Chimaera randomize button.
- Hybrid: Layered fusion evolution blending organic ambience with rhythmic drive, using slow-bloom envelopes and stacked modulation (20% probability). Corresponds to the Hybrid randomize button.
- Clone: Sterile replication evolution that stays close to pure waveforms with narrow filter bands and minimal effects, producing consistent, uniform results (15% probability). Corresponds to the Clone randomize button.
- Custom: Uses the custom randomizer's "randomize all selected" functionality for comprehensive parameter evolution (10% probability). Corresponds to the Custom randomize button.
Evolution Controls
- Mode Selection: Choose between Manual (user-controlled) or Auto (automatic) evolution modes
- Duration: How long each evolution cycle lasts, from 1 to 30 seconds (default: 10)
- Interval: Time between automatic transitions, from 1 to 30 seconds (default: 2)
- Model Selection: Enable or disable each of the eight evolution models using its checkbox
How Evolution Works
- Enable Evolution Mode: Toggle the evolution mode switch to activate automatic parameter evolution
- Select Models: Choose which evolution models are allowed to run (at least one must be enabled)
- Set Parameters: Configure duration, interval, and speed settings
- Start Playback: Evolution begins automatically when you press play
- Watch Evolution: Parameters smoothly transition between different values according to the selected models
💡 Evolution Tips: Evolution mode works best with longer DNA sequences. The Random Patch feature intelligently handles evolution mode - when evolution is enabled, synthesizer parameters are not randomized since evolution handles the parameter changes. Volume parameters are never affected by evolution to prevent audio spikes. The individual randomize buttons (Mosaic, Recombinant, Mutant, etc.) can trigger evolution with their corresponding models when Evolution Mode is enabled.
🧬 Super Evolution
Super Evolution is a sophisticated DNA sequence transformation system that reads DNA sequences in groups of 9 nucleotides (3 codons) and applies genetic transformations to create evolving musical patterns. Unlike regular evolution which affects synthesizer parameters, Super Evolution transforms the DNA sequences themselves.
How Super Evolution Works
Super Evolution uses three specialized genetic code tables to interpret DNA sequences:
🎼 Root Note Table
Maps the first codon of each 9-nucleotide group to a chromatic note between C2 and D7, or to a pause command.
⏱️ Duration Table
Maps the middle codon to rhythm duration values from 1/512 up to 25 beats for timing control.
🎵 Scale/Chord Table
Maps the last codon to one of 65 available scales and chord types for harmonic transformation.
Sequence Processing
Super Evolution processes DNA sequences in the following way:
- Group Formation: Divides the DNA sequence into groups of 9 nucleotides
- Codon Analysis: Each group contains 3 codons (3 nucleotides each)
- Genetic Translation: Maps each codon to musical parameters using the specialized tables
- Real-time Updates: As the cursor moves through the sequence, musical parameters change dynamically
- Transformation Application: Applies reverse and complementary transformations if enabled
Transformation Features
- Reverse Transformation: Reverses the entire DNA sequence, creating a mirror-image musical pattern.
- Complementary Transformation: Applies DNA base complement rules (A↔T, G↔C) to create complementary musical sequences.
- Cadence Plasmids: Uses specialized cadence plasmids for harmonic resolution and musical coherence.
Super Evolution Controls
- Sequence Upload: Load custom DNA sequences or use cadence plasmids
- Playback Controls: Play, pause, restart, and loop functionality
- Cursor Speed: Milliseconds per step as the cursor advances through the sequence (minimum 100 ms, default 1000 ms). This value is kept in sync with the main tempo automatically, so changing the BPM updates it.
- Page Navigation: Browse through long sequences using page controls
- Transformation Toggles: Enable/disable reverse and complementary transformations
- Real-time Display: Shows current root note, duration, and scale values
Integration with Other Features
- Patch System: Super Evolution sequences are saved and restored with patches
- Plasmid Integration: Automatically selects cadence plasmids when using Random Patch
- Performance Optimization: Efficient processing with throttled display updates for smooth operation
- Multi-instrument Support: Works with all instruments (Synthesizer, Sampler, Drum Machine, Tape Deck)
💡 Super Evolution Tips: Super Evolution works best with sequences that are multiples of 9 nucleotides long. The system automatically trims sequences to the nearest multiple of 9. Use cadence plasmids for musically coherent results, or upload your own sequences for experimental exploration. The transformation features (reverse/complementary) can be combined for complex musical variations.
🎹 Keyboard Visualizer
The keyboard visualizer provides real-time visual feedback showing which notes are being played. It is a double keyboard: one for the Synthesizer and one for the Sampler, side by side, so you can see both instruments at once when they run different scales or octave ranges.
Features
- Real-time Display: Shows active notes as they're played
- Fixed C2–B7 Span: Each keyboard covers six octaves from C2 to B7, regardless of the octave range you set on the instrument. Narrowing the range simply means fewer keys light up.
- Out-of-Range Folding: Any note that sounds outside C2–B7 is folded by octaves into the displayed window, so every audible note lights a key. The lit key will be the correct letter name but may be in a different octave than the pitch you hear.
- Post-Transposition Accuracy: The keyboard shows the note that actually sounded after transpose, detune and octave folding are applied—not the raw note from the DNA sequence.
- Scale Integration: Reflects the currently selected scale and key
🔄 Real-time Processing
Advanced real-time audio processing capabilities for live performance and experimentation.
Processing Features
- Low Latency: Optimized for real-time performance
- Effect Processing: Real-time effect parameter adjustment
- Sequence Manipulation: Live editing of DNA sequences during playback
- Separate Audio Thread: Audio rendering runs independently of the interface, so UI activity doesn't interrupt playback
- Throttled Displays: Visual elements such as the Super Evolution readout update at a limited rate to keep audio timing stable
💡 Advanced Tips: Use Super Evolution for creating evolving soundscapes. The keyboard visualizer is excellent for understanding how your DNA sequences translate to music.
12. MIDI Conversion
FASTAplayer converts in both directions: existing MIDI files can be imported as DNA sequences, and the DNA you are currently playing can be exported back out as a MIDI file. Both directions use the Chromatic Scale for pitch and the Standard Set rhythm codec for timing.
MIDI to DNA (Import)
Open the MIDI Import panel from the main toolbar.
- Upload a MIDI file to the converter
- The converter extracts note and timing information
- Notes are mapped to DNA codons using the chromatic scale
- Note durations are quantised to the nearest value in the Standard Set codec, and simultaneous notes are marked with the
TTT chord codon
- Two FASTA files are generated: melody and rhythm
DNA to MIDI (Export)
The Export MIDI button writes your current melody and rhythm sequences to a standard MIDI file you can open in any notation editor or DAW.
- Chord Reconstruction: Notes marked with the
TTT chord codon are written as simultaneous MIDI events sharing a single note-on time, then released together—so chords survive the round trip intact.
- Faithful Round-Trip: A sequence imported from MIDI and exported again should produce the same notes and rhythms, provided you leave the scale on Chromatic and the rhythm on Standard Set.
- Any Source: Export works on any DNA in the workspace—plasmids, hand-written sequences, or output from the Sequence Creator—not just previously imported MIDI.
💡 Playback settings: To hear a converted MIDI file as originally encoded, select Chromatic Scale and Standard Set rhythm—the same mappings used during conversion. You can also choose other scales to reinterpret the melody with different notes while keeping the same DNA sequence.
⚠️ Legacy sequences: DNA created before the current codec used CTT as the chord marker rather than TTT. If an older sequence exports with wrong-sounding chords or timing, switch the rhythm preset to Legacy Standard before exporting.
Converter Features
- Multi-Track Support: Handles MIDI files with multiple tracks, extracting the melody line.
- Note Mapping: Maps all 12 chromatic notes to corresponding DNA codons.
- Out-of-Range Notes: Pitches outside the playable octave range are folded by whole octaves, preserving the letter name rather than snapping to the nearest available pitch.
- Enharmonic Handling: Flat spellings and edge cases such as B♯ and C♭ are normalised correctly during conversion.
- Documentation: Generates detailed mapping documents explaining the conversion.
- Standalone Tool: A separate converter page (
midi-to-dna-standalone.html) performs the same import outside the main interface.
13. Sample Set Makers
FASTAplayer ships with three separate companion tools for preparing your own audio, each a standalone page rather than a panel inside the main interface. They exist because the instruments expect samples in a particular format and naming scheme, and these tools do that conversion for you.
Supported Input Formats
All three tools accept any audio file your browser can decode, which in practice means WAV, MP3, OGG, WebM, FLAC and M4A. WAV gives the best results as a source because it hasn't already been through lossy compression.
🎵 Sample Set Maker
Open sample-set-maker.html. This is a batch converter for Sampler instrument sets.
- Select multiple audio files at once
- Choose an output format: WAV (uncompressed), WebM/Opus (best compression, the default) or OGG/Opus (open format)
- For the compressed formats, pick a bitrate: 64, 96, 128 (default) or 192 kbps
- Click Process Samples and wait for the conversion to finish
- Click Download Sample Set to save the converted set
Place the resulting folder in samples/ to make it available to the Sampler.
🥁 Drum Sample Set Maker
Open drum-sample-set-maker.html, or use the Open Sample Maker button in the Drum Machine's Sample Set panel. This tool builds the 20-sample amino acid sets the Drum Machine expects.
- Upload your audio files
- Assign each file to one of the 20 amino acids using the dropdown beside it—this is what determines which codons trigger which sound
- Generate the sample set
- Download it and place it in
drum-samples/, then run node scripts/generate-drum-samples-index.mjs so the new kit is listed in the Drum Machine's selector
📼 Tape Sample Maker
Open tape-sample-maker.html. This prepares long-form ambience recordings for the Tape Deck.
- Upload your audio files
- Choose a bitrate: 96, 128 (default), 160 or 192 kbps
- Choose a maximum length: 1, 2, 3 (default) or 5 minutes—longer recordings are trimmed to fit
- Process and download, then place the files in
tape-samples/
💡 Why WebM/Opus: Tape Deck and Sampler sets can be large. Opus at 128 kbps is close to transparent for most material while producing files a fraction of the size of WAV, which matters when a patch ZIP has to carry its samples with it.
14. Famous Melodies in DNA
FASTAplayer includes several famous melodies encoded as DNA sequences to help you understand the system. They come in two forms, and not every piece is available in both.
As Bundled FASTA Files
Three pieces ship as downloadable file pairs in the application folder, each with a separate melody and rhythm file:
- Twinkle Twinkle Little Star: Simple children's song perfect for learning the basics. Files:
twinkle_melody.fasta and twinkle_rhythm.fasta.
- Ode to Joy (Beethoven): Famous melody from Beethoven's 9th Symphony. Try 110-130 BPM tempo. Files:
ode_to_joy_melody.fasta and ode_to_joy_rhythm.fasta.
- Für Elise (Beethoven): Excerpt from Beethoven's piano piece. Best at 80-100 BPM. Files:
fur_elise_melody.fasta and fur_elise_rhythm.fasta.
Each melody also has an _octave_up variant transposed one octave higher, useful when the original register sits too low for the sample set or scale you're using. The rhythm file is shared between both versions.
As Melodic Plasmids
Four pieces are available directly from the Melodic Plasmids → Songs category, with no file upload needed. All are in the public domain:
- Twinkle Twinkle Little Star: Also available as a FASTA file pair above.
- Clair de Lune (Debussy): A beautiful and serene melody from Debussy's Clair de Lune.
- Odeon (Ernesto Nazareth): Brazilian piano choro known for its syncopated rhythms and lyrical melody.
- Réveil dans les bois (Burgmüller): "Awakening in the Woods," No. 12 of Friedrich Burgmüller's 18 Études de genre, Op. 109.
Für Elise is also available as a plasmid, but filed under Motifs/Phrases rather than Songs. Ode to Joy exists only as FASTA files. Matching rhythm plasmids for all of these live in Rhythmic Plasmids → Songs under the same titles.
💡 Scale selection: The bundled FASTA examples (Twinkle Twinkle, Ode to Joy, and Für Elise) are encoded with the Chromatic scale preset. Select Chromatic Scale and Standard Set rhythm to hear the original melodies. Other scales reinterpret the same DNA sequence with different notes—for example, Major or Minor for a more traditional sound, or an unusual scale for experimental variations.
Using the Examples
- Load your chosen example: upload the melody and rhythm FASTA files (Twinkle Twinkle, Ode to Joy, or Für Elise), or select a song from Melodic Plasmids → Songs
- If using FASTA files, upload both melody and rhythm files to FASTAplayer
- Select "Chromatic Scale" and "Standard Set" rhythm to hear the melody as originally encoded
- Set the recommended tempo for the piece
- Press play and enjoy the familiar melody!
- Try other scales to reinterpret the same DNA sequence with different harmonic colors
Learning from Examples
Study the mapping documents that come with each example to understand:
- How specific codons map to musical notes
- The relationship between DNA sequence and musical structure
- Patterns in codon usage for different musical elements
- How rhythm is encoded in DNA sequences
💡 Educational Value: These examples demonstrate that DNA sequences can encode recognizable musical patterns, proving the viability of DNA sonification.
15. Sequence Creator
The Sequence Creator is a visual DNA composition tool built into FASTAplayer. Open it from the Sequence Creator button in the main toolbar (beside MIDI Import and Random Patch). It appears as a full-screen overlay and lets you build melody, rhythm, and SuperEvolution sequences by clicking codon buttons mapped to the app's genetic code tables.
Opening and Closing
- Open: Click the Sequence Creator button in the main interface toolbar
- Close: Click the ✕ button in the top-right corner of the overlay
Three Composition Modes
Use the tabs at the top of the Sequence Creator to switch between modes:
- Melody: Build a melody DNA sequence using the chromatic genetic code table. Each codon button shows its three-letter code and the note it represents (for example,
CGC → C4).
- Rhythm: Build a rhythm DNA sequence using the rhythm genetic code table. Each codon maps to a duration value (for example,
AAT → quarter note).
- Superevolution: Build SuperEvolution sequences from repeating three-codon units: root note + duration + scale. Select each element from dropdown menus and click Add to append a triplet to the sequence.
Building a Sequence
- Enter an optional name in the Sequence Name field
- Choose Melody, Rhythm, or Superevolution mode
- Click codon buttons to append codons, or type/edit the sequence directly in the text area
- In Superevolution mode, pick root note, duration, and scale from the dropdowns, then click Add for each triplet
- Use Clear to start over
Superevolution Scale Options
The Superevolution scale dropdown includes chord and scale presets (Major Scale, Dorian, Minor Pentatonic, Chromatic, and others). If you have imported .scl scales in the main app, they also appear here with their assigned codons, labeled with (.scl).
Exporting and Using Sequences
- Copy: Copies the current sequence to the clipboard
- Export FASTA: Downloads a
.fasta file you can save or share
- Send to Workspace: Loads the sequence directly into FASTAplayer—into the Melody, Rhythm, or SuperEvolution file input depending on the active mode
💡 Tip: Codons are grouped by their first nucleotide (A, C, G, T) for easier browsing. You can combine Sequence Creator with plasmids, MIDI import, and manual FASTA editing—build a base sequence visually, then refine it in the main workspace.
16. Troubleshooting
Common Issues and Solutions
No Audio Output
- Check that your speakers/headphones are connected and working
- Check the volume sliders—there is one per instrument plus a master, and a silent instrument is often just its own slider at zero
- Try refreshing the page and reloading your files
- Check browser audio permissions - allow audio playback when prompted
- Ensure the audio context is not suspended (click anywhere on the page to activate)
- Check that at least one instrument (Synthesizer, Drum Machine, Sampler, or Tape Deck) has loaded samples
Files Won't Upload
- Ensure files are in FASTA format (.fasta, .fa, or .txt)
- Check that files contain only A, T, C, and G characters
- Verify file size is reasonable (under 10MB recommended)
- Try uploading files one at a time
- For Tape Deck: ensure audio files are in supported formats (WAV, MP3, OGG, WebM)
Music Sounds Wrong
- Verify you're using the correct scale and rhythm settings
- For MIDI-converted or bundled FASTA melodies, use "Chromatic Scale" and "Standard Set" rhythm to hear the original encoding; other scales produce reinterpretations
- Check that your DNA sequences are properly formatted
- Try different tempo settings
- Ensure plasmid sequences are compatible with your chosen scale
- Check that instrument-specific settings (octave ranges, transpose) are appropriate
Patch System Issues
- Patch Won't Load: Ensure the patch file is in JSON or ZIP format
- Custom Samples Missing: When loading ZIP patches, browse for the audio files when prompted
- Patch Settings Not Applied: Try refreshing the page and reloading the patch
- Random Patch Issues: Ensure plasmid data is loaded - try refreshing the page
Instrument-Specific Issues
- Drum Machine: Open the Sample Set panel and confirm a set has finished loading; the panel shows a status of Loaded when ready
- Drum Machine ignores my rhythm preset: This is expected. It sequences with its own built-in duration table and does not follow the main Rhythm Genetic Table. Use its own tempo and swing controls instead.
- Sampler: Check that the selected sample set (piano, guitar, etc.) has loaded successfully
- Tape Deck: Each nucleotide channel needs a sample. Four built-in defaults load automatically, so a silent Tape Deck usually means a channel was cleared or a custom file failed to decode.
- Synthesizer: Check that waveform selection and ADSR settings are reasonable
Notes Sound but Don't Appear on the Keyboard
- The visualizer spans a fixed C2–B7. Notes outside that span are folded into it, so the lit key may be in a different octave than the pitch you hear—look for the right letter name rather than the right position
- Check whether transpose or a narrow octave range is pushing notes out of the instrument's playable window
- Remember there are two keyboards: the Synthesizer's and the Sampler's. A note may be lighting the one you aren't watching
Chords Play as Separate Notes
- Chords require the
TTT chord codon in the rhythm sequence, which only exists in the Standard Set preset. Other rhythm presets map TTT to an ordinary duration.
- For sequences created before the current codec, switch to Legacy Standard, where
CTT is the chord marker
- A rest inside a chord group breaks it—pauses can never act as chord markers
Browser Compatibility
- Use a modern browser (Chrome, Firefox, Safari, or Edge)
- Enable JavaScript in your browser
- Allow audio playback when prompted
- Clear browser cache if experiencing issues
- Ensure Web Audio API is supported (most modern browsers)
- For WebM support: use Chrome, Firefox, or Edge (Safari has limited support)
Performance Issues
- Slow Loading: Reduce file sizes, use shorter sequences, or enable WebM compression
- Audio Dropouts: Close other applications using audio, reduce effect complexity
- Browser Crashes: Try with fewer effects enabled, reduce sequence length
- High CPU Usage: Disable unnecessary effects, reduce Super Evolution complexity
- Memory Issues: Clear browser cache, restart browser, or use smaller audio files
Advanced Troubleshooting
- Plasmid Issues: Check browser console for plasmid loading errors
- Effect Processing: Try bypassing individual effects to isolate problems
- Codon Mapping: Use the genetic code tables to verify codon mappings
- Real-time Issues: Check for audio context suspension or browser throttling
💡 Getting Help: If you continue to experience issues, try the examples provided with the software to verify your setup is working correctly. Check the browser console (F12) for error messages that might provide additional clues.
17. Best Practices
File Organization
- Use descriptive names for your FASTA files
- Keep melody and rhythm files together
- Create backups of your custom sequences
- Document your mapping choices for future reference
Composition Tips
- Start simple and gradually add complexity
- Test your sequences at different tempos
- Use the genetic code tables to plan your sequences
- Experiment with different scales and rhythms
Performance Optimization
- Keep DNA sequences reasonably sized (under 1000 codons recommended)
- Use appropriate sample rates for audio files
- Save your favorite patch configurations
- Use the loop feature for continuous playback
Sharing and Collaboration
- Include mapping documentation when sharing sequences
- Provide recommended settings with your compositions
- Create patch files for complex configurations
- Document any custom genetic code mappings
💡 Final Tip: The best way to learn FASTAplayer is through experimentation. Don't be afraid to try unusual combinations - some of the most interesting DNA music comes from unexpected discoveries!