Berliner Schule Sequencer
- KVRian
- 571 posts since 24 Feb, 2008 from Germany
Hey my friends,
It pulls me back into software development lately. And this time i ended in a specialized Midi sequencer that generates melodic patterns inspired by the Berliner Schule style of electronic music.
Berliner Schule is a music style from the seventies in the last century. Artists like Tangerine Dream, Ash Ra Tempel and Klaus Schulze made it popular.
The style is characterized by hypnotic sequencer patterns, long evolving compositions, atmospheric synthesizer textures, and gradual, often improvisational development. Rather than focusing on traditional song structures, Berlin School music creates immersive sonic journeys through repetition, subtle variation, and layered electronic soundscapes.
Berliner Schule Sequencer generates such long single evolving midi sequences, but also shorter ones if you want, wich you then can layer together and finalize in your DAW. It is designed as a pattern sequence generator which uses a Pseudo-Random Number Generator to create sequences based on musical constraints. It is primary made to generate MIDI data. The actual sound design and final music production are intended to take place within a Digital Audio Workstation (DAW).
Berliner Schule Sequencer is free and open source under an MIT license.
The tool itself is a single html file. You can run it in any modern browser. It requires Javascript.
You can find it at Github:
https://github.com/ReinerBforartists/be ... _sequencer
At my project page:
https://haizytiles.reinerstilesets.de/i ... sequencer/
And since it is a single html file, you can also try it out online directly (for now, and as long as my server doesn't completely collapse at it)
https://haizytiles.reinerstilesets.de/a ... encer.html
The tool is currently in Beta. So in case you find something, please drop a note at youtube or here.
Have fun.
Release video at Youtube with some explanations.
It pulls me back into software development lately. And this time i ended in a specialized Midi sequencer that generates melodic patterns inspired by the Berliner Schule style of electronic music.
Berliner Schule is a music style from the seventies in the last century. Artists like Tangerine Dream, Ash Ra Tempel and Klaus Schulze made it popular.
The style is characterized by hypnotic sequencer patterns, long evolving compositions, atmospheric synthesizer textures, and gradual, often improvisational development. Rather than focusing on traditional song structures, Berlin School music creates immersive sonic journeys through repetition, subtle variation, and layered electronic soundscapes.
Berliner Schule Sequencer generates such long single evolving midi sequences, but also shorter ones if you want, wich you then can layer together and finalize in your DAW. It is designed as a pattern sequence generator which uses a Pseudo-Random Number Generator to create sequences based on musical constraints. It is primary made to generate MIDI data. The actual sound design and final music production are intended to take place within a Digital Audio Workstation (DAW).
Berliner Schule Sequencer is free and open source under an MIT license.
The tool itself is a single html file. You can run it in any modern browser. It requires Javascript.
You can find it at Github:
https://github.com/ReinerBforartists/be ... _sequencer
At my project page:
https://haizytiles.reinerstilesets.de/i ... sequencer/
And since it is a single html file, you can also try it out online directly (for now, and as long as my server doesn't completely collapse at it)
https://haizytiles.reinerstilesets.de/a ... encer.html
The tool is currently in Beta. So in case you find something, please drop a note at youtube or here.
Have fun.
Release video at Youtube with some explanations.
You do not have the required permissions to view the files attached to this post.
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
Hey friends. There is a new version available.
Download: https://github.com/ReinerBforartists/be ... tag/v0.9.1
Or online: https://haizytiles.reinerstilesets.de/a ... encer.html
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.
Download: https://github.com/ReinerBforartists/be ... tag/v0.9.1
Or online: https://haizytiles.reinerstilesets.de/a ... encer.html
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.
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
A quick little update because of a showstopper bug.
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 length of the sequence gets calculated.
https://github.com/ReinerBforartists/be ... g/v0.9.1.1
online version link remains the same
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 length of the sequence gets calculated.
https://github.com/ReinerBforartists/be ... g/v0.9.1.1
online version link remains the same
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
Hey friends, here comes the next update for the Berliner Schule Sequencer. In short BSS.
Actually it is two updates. I had version 0.9.2 release ready, and then i had a last idea to add back some chaotic dirt. Which came with version 0.9.3 then.
This time, I’ve taken a closer look at the UI. In earlier versions, I made some quick, rough decisions, and as the project grew i had to add features where there was space, which resulted in that typical 'programmer art' feeling that you know from so much open source projects.
Well, I’ve corrected that now. And added the usual little UI UX design miracles. It’s always amazing how even small UI changes can make a huge impact. The most obvious change is that the sliders are gone. The numbers below the buttons are now edit fields, double click to edit.
I’ve thrown out the sliders and replaced them with buttons. This saves space and makes the UI much cleaner. The piano roll got some visual updates. The order has changed. Now it follows your workflow. First you generate your sequence. Then you add evolution to it. And finally, you export.
There were also some algorithm changes again. There's always something to tweak.
The redesign also introduced some inconsistencies under the hood, which required some code cleanup. And we have as told some entropy back. The chaos rotary knob.
https://github.com/ReinerBforartists/be ... r/releases
online version link remains the same. https://haizytiles.reinerstilesets.de/a ... encer.html
Actually it is two updates. I had version 0.9.2 release ready, and then i had a last idea to add back some chaotic dirt. Which came with version 0.9.3 then.
This time, I’ve taken a closer look at the UI. In earlier versions, I made some quick, rough decisions, and as the project grew i had to add features where there was space, which resulted in that typical 'programmer art' feeling that you know from so much open source projects.
Well, I’ve corrected that now. And added the usual little UI UX design miracles. It’s always amazing how even small UI changes can make a huge impact. The most obvious change is that the sliders are gone. The numbers below the buttons are now edit fields, double click to edit.
I’ve thrown out the sliders and replaced them with buttons. This saves space and makes the UI much cleaner. The piano roll got some visual updates. The order has changed. Now it follows your workflow. First you generate your sequence. Then you add evolution to it. And finally, you export.
There were also some algorithm changes again. There's always something to tweak.
The redesign also introduced some inconsistencies under the hood, which required some code cleanup. And we have as told some entropy back. The chaos rotary knob.
https://github.com/ReinerBforartists/be ... r/releases
online version link remains the same. https://haizytiles.reinerstilesets.de/a ... encer.html
You do not have the required permissions to view the files attached to this post.
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
Added a release video
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
-
- KVRAF
- 1666 posts since 13 Jan, 2014
I cant seem to get the Evolution sequencer to work (firefox newest version, win 11)
I change the parameters, click on refresh evolution but nothing seems to change
Any idea what I am doing wrong ?
I change the parameters, click on refresh evolution but nothing seems to change
Any idea what I am doing wrong ?
You do not have the required permissions to view the files attached to this post.
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
Hmm, interesting. Many thanks for the report, i'll install Firefox to test. With Opera and Chrome everything works from what i can say.
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
I cannot reproduce. Works just fine in the newest firefox version 
Do you have Javascript disabled by chance? But then the refresh button would also fail at the main sequencer. It remains curious. I'll dig a bit deeper.
Do you have Javascript disabled by chance? But then the refresh button would also fail at the main sequencer. It remains curious. I'll dig a bit deeper.
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
I made an issue here. https://github.com/ReinerBforartists/be ... /issues/81
In case you have further informations, please share it. What is the exact version number shown up left? Is it 0.9.3?
In case you have further informations, please share it. What is the exact version number shown up left? Is it 0.9.3?
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
-
- KVRAF
- 1666 posts since 13 Jan, 2014
Yes, its 0.9.3.
I just closed the site, opened it again and now it works so far.
I can only imagine some settings I was trying out randomnly just dont work together and stop the engine from getting actualized.
Will report how it goes on with it.
Really a great idea to get into the magic behind this stuff
I just closed the site, opened it again and now it works so far.
I can only imagine some settings I was trying out randomnly just dont work together and stop the engine from getting actualized.
Will report how it goes on with it.
Really a great idea to get into the magic behind this stuff
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
Many thanks for the infos. I meanwhile found the cause. It is the evo seed which you have set to fixed. That way every iteration uses the same seed. And this leads to the situation that the iterations doesn't change anymore.
This needs further thinking since you as the user of course expects something to happen when you click at the refresh evolution button. So, many thanks for the report
And many thanks. Developing this tool is lots of fun. I initially just wanted to develop a random sequence generator, and look where we are
This needs further thinking since you as the user of course expects something to happen when you click at the refresh evolution button. So, many thanks for the report
And many thanks. Developing this tool is lots of fun. I initially just wanted to develop a random sequence generator, and look where we are
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
-
- KVRAF
- 1666 posts since 13 Jan, 2014
I am afraid thats not the only problemTiles wrote: Sat Jun 27, 2026 9:56 am Many thanks for the infos. I meanwhile found the cause. It is the evo seed which you have set to fixed. That way every iteration uses the same seed. And this leads to the situation that the iterations doesn't change anymore.
This needs further thinking since you as the user of course expects something to happen when you click at the refresh evolution button. So, many thanks for the report
And many thanks. Developing this tool is lots of fun. I initially just wanted to develop a random sequence generator, and look where we are![]()
I can changed the source sequence, change the chaos settings......nothing changes anymore in the evolution part from me.
I was thinking if this might in a way cause the problem:
12 blocks · 1152 steps · pitch range D#3–B4 · seed locked for export
Would be really great if this could be solved someway cause with reopening you have only one try
- KVRian
- Topic Starter
- 571 posts since 24 Feb, 2008 from Germany
So this is yet another problem. 1152 steps is really a lot. I'll dig into it 
Could you please provide a screenshot with all the settings? Including the ones from the sequencer above?
Could you please provide a screenshot with all the settings? Including the ones from the sequencer above?
“The biggest crime of a musician is to play notes instead of making music.”
Isaac Stern
Isaac Stern
-
- KVRAF
- 1666 posts since 13 Jan, 2014
I started a new one.Tiles wrote: Sat Jun 27, 2026 10:21 am So this is yet another problem. 1152 steps is really a lot. I'll dig into it
Could you please provide a screenshot with all the settings? Including the ones from the sequencer above?
First is sequence with settings
Then changing to evolution (something appears).
Then changing root (evolution changes).
Then after that I can do whatever I want, even changing the sequence, nothing happens anymore, aplying refresh evolution does not have ANY impact anymore
You do not have the required permissions to view the files attached to this post.