Releases: ReinerBforartists/berliner_schule_sequencer
Berliner Schule Sequencer version 0.9.1.1
A little showstopper was in the way. So i made a quick update.
Evolution did just calculate the first repeat instead of all repeats, and already changed the initial phrase. Now the initial phrase remains unchanged. And the whole lenght of the sequence gets calculated.
Berliner Schule Sequencer version 0.9.1
Berliner Schule Sequencer (BSS) is an algorithmic MIDI sequencer that runs directly in the browser. It generates melodic patterns inspired by the Berliner Schule style of electronic music, balancing repetition with subtle organic evolution.
You run it by open the html file in your browser.
The new version 0.9.1 comes with quite a few changes. The previous version was a tad bit too random and contained quite a few bugs and glitches.
The algorithm has received quite a few changes. And differs in big parts from the old version. It now not longer creates arbitrary variations that ends in chaos. It keeps the rhythm. You can now generate evolutions that keeps the intial block intact. Octave drift now uses directional validation. We have now a fixed palette and a range. An evolution curve. The step sequencer has turned into a piano roll preview. There is a graphical piano roll preview in the evolution export too. You can move the sliders with the mouse wheel now. And much more.
List of changes:
Root pattern problem, pattern is not cycling #38
Evolution export, root methods different from none still evolutes with maximum friction settings. #37
Refactoring #36 - whole css and html cleanup
Refactoring #36 - Added Utility classes
Refactoring #36 - remove redundant css class .composition-panel
Refactoring #36 - removed unused variable cachedStepEls
Update Howto #34
Cleanup comments #35
Offbeat anchor mode, offbeat notes are generated below the root note #33
Move the howto to the end of the list #32
If min length greater steps then the result is one short note #31
Display of the sequence needs improvement. #30 - sequencer implementation polishing
Display of the sequence needs improvement. #30 - pianoroll implementation fine tuning.
Display of the sequence needs improvement. #30
Display of the sequence needs improvement. #30
Evolution, unwanted reduction of palette #28 - part 3
Evolution, unwanted reduction of palette #28
Evolution, unwanted reduction of palette #28
Update evolution when changing main block #29
evolution octave jump in arpeggiator mode #27
Evolution starts with palette values instead of real palette of the pattern. #26
Evolution export can still collapse #25 - part 2
Evolution export can still collapse #25 - part 1
Zooming in and out triggers the evolution recreation #24
Preview for the evolution export #23 - finetuning
Preview for the evolution export #23
Issue: Evolution Export — Block 2+ ignores variation from original sequence, evolution becomes a no-op (single-note palette) #22
Note collapse instead of drift at evolution export with ease in #21
Classic mode. Short notes with high vatiation settings #20
Evolution export still ends in dystropic results #19
Better default values for evolution export #18
Evolution export. Rotation and drift zero, grip 100, but still variations #17
Evolution export - Root free is clamped to seven but user doesn't see it. Make sliders for clamping and palette #16 - update howto
Evolution export - Root free is clamped to seven but user doesn't see it. Make sliders for clamping and palette #16
Note length can be below the minimum length #13
Note length at the end of the phrase can be below the minimum size #14
UI mismatch between starting values for min and max length #12
Offbeat mode should have an onbeat switch #8
Mousewheel support for the sliders #11
intervall can be higher than notes
Notes continue playing when hitting stop #9
Offbeat mode should have an onbeat switch #8
Changed versioning to version 0.9.1
Update howto section to new features #7
Curves for the evolution export #6
Random generation still too random to be Berliner Schule #5 - offbeat anchbor with palette and range
Random generation still too random to be Berliner Schule #5 - octave drift and root shift fixes
Random generation still too random to be Berliner Schule #5
Evolution export - 100% grip does not stop mutation #4
Performance optimization, Optimize highlightStep by replacing repeated DOM scans with an element cache #2
Double listeners for genSliders #1
Berliner Schule Sequencer version 0.9.0
Berliner Schule Sequencer (BSS)
An algorithmic MIDI sequencer that runs directly in the browser. It generates melodic patterns inspired by the Berliner Schule style of electronic music, balancing repetition with subtle organic evolution.
Core Functionality
The tool is designed as a sequence generator. While it includes a basic internal synth for monitoring and previewing patterns, its primary purpose is to generate MIDI data. The actual sound design and final music production are intended to take place within a Digital Audio Workstation (DAW) or with external hardware via the MIDI export function.
The tool uses a Pseudo-Random Number Generator (PRNG) to create sequences based on musical constraints. Users can either generate random patterns or use fixed seeds to recreate specific results.
Composition Modes
- Classic: A "Random Walk" within the selected scale, creating fluid and grounded melodies.
- Klaus Schulze: Focuses on sparse, long-held notes and drones for a meditative atmosphere.
- Offbeat Anchor: Locks specific steps (usually offbeats) to a fixed pedal point while the rest of the melody varies.
- Arpeggiator: Cycles through chord tones; these can be mutated over time to evolve the rhythmic pattern.
- Motivic: Generates a 4-note "DNA motif" and applies classical transformations (Inversion, Retrograde).
Harmonic Palette (Scales)
The mood of the sequence is determined by the selected scale:
- Dorian: Sophisticated, slightly melancholic but open.
- Phrygian: Dark, tense, and exotic; typical for "dark cosmic" sounds.
- Aeolian (Natural Minor): Classic sad or dramatic tone.
- Mixolydian: Brighter, more dominant and open.
- Minor/Major Pentatonic: Simplified scales that always sound harmonious and fluid.
Evolutionary Export (🧬)
Beyond standard MIDI loops, the sequencer features an evolutionary chain generator. This mimics the drift of vintage modular systems by mutating a sequence over several blocks:
- Mutation: Controls how much each block differs from the previous one.
- Drift: Adds probability for sudden octave jumps.
- Grip: Determines how strongly the evolution adheres to the original theme.
- Root Shift: Allows for harmonic progressions (e.g., Cycle of Fifths, Modal shifts) between blocks.
Installation & Usage
No installation is required.
- Download the html file.
- Open
berliner-schule-sequencer.htmlin any modern web browser.
Operation Guide
Parameter Behavior
- Live Parameters (Green Labels): These affect the playback engine in real-time (e.g., BPM, Swing). Changes are audible immediately.
- Generative Parameters (Amber Labels): These define the blueprint of the sequence. Changing these values triggers an automatic regeneration of the pattern upon releasing the slider or changing the selection. The "↻ Generate" button can also be used to manually trigger a new seed.
Key Settings
- Timing & Rhythm: Adjust BPM, Swing, and Steps per Beat (resolution).
- Phrase & Notes:
Scale & Root: Defines the harmonic palette.Steps: Length of one musical idea before it repeats.Density: Probability of a note occurring on any given step.Interval: Limits the "jump" between consecutive notes to control melodic smoothness.
- Variation: Controls how much each repeat of a phrase differs from the original, preventing robotic repetition.
Visual Legend
- Blue cell: Standard generated note.
- Pink cell: Anchor note (fixed pitch).
- Dark/empty cell: A rest.
- Semi-transparent blue: A tie (held note).
- Blue height bar: Relative pitch indicator.
License
Berliner Schule Seqencer is free and open source.
MIT License © 2026 Reiner Prokein