{"id":1106,"date":"2026-06-03T18:15:46","date_gmt":"2026-06-03T16:15:46","guid":{"rendered":"https:\/\/haizytiles.reinerstilesets.de\/?page_id=1106"},"modified":"2026-07-04T11:59:14","modified_gmt":"2026-07-04T09:59:14","slug":"berliner-schule-sequencer","status":"publish","type":"page","link":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/berliner-schule-sequencer\/","title":{"rendered":"Berliner Schule Sequencer"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1106\" class=\"elementor elementor-1106\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6fe7814 e-flex e-con-boxed e-con e-parent\" data-id=\"6fe7814\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-baf5bf0 e-con-full e-flex e-con e-child\" data-id=\"baf5bf0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-467bf01 elementor-widget elementor-widget-image\" data-id=\"467bf01\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/haizytiles.reinerstilesets.de\/wp-content\/uploads\/2026\/06\/bss-3.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"bss\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTIwMSwidXJsIjoiaHR0cHM6XC9cL2hhaXp5dGlsZXMucmVpbmVyc3RpbGVzZXRzLmRlXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNlwvYnNzLTMuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1498\" height=\"1162\" src=\"https:\/\/haizytiles.reinerstilesets.de\/wp-content\/uploads\/2026\/06\/bss-3.jpg\" class=\"attachment-full size-full wp-image-1201\" alt=\"\" srcset=\"https:\/\/haizytiles.reinerstilesets.de\/wp-content\/uploads\/2026\/06\/bss-3.jpg 1498w, https:\/\/haizytiles.reinerstilesets.de\/wp-content\/uploads\/2026\/06\/bss-3-300x233.jpg 300w, https:\/\/haizytiles.reinerstilesets.de\/wp-content\/uploads\/2026\/06\/bss-3-1024x794.jpg 1024w, https:\/\/haizytiles.reinerstilesets.de\/wp-content\/uploads\/2026\/06\/bss-3-768x596.jpg 768w\" sizes=\"(max-width: 1498px) 100vw, 1498px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-40d3f36 e-con-full e-flex e-con e-child\" data-id=\"40d3f36\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-44c1745 elementor-widget elementor-widget-text-editor\" data-id=\"44c1745\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-section-id=\"16z1nr\" data-start=\"0\" data-end=\"17\">\u2728 <strong>Berliner Schule Sequencer<\/strong>\u00a0is an algorithmic MIDI sequencer that runs directly in the browser. It generates melodic patterns inspired by the <strong>Berliner Schule<\/strong>\u00a0style of electronic music, balancing repetition with subtle organic evolution.<\/p>\n<p>The project is open source under MIT license, and can be found at Github too: <span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/github.com\/ReinerBforartists\/berliner_schule_sequencer\">https:\/\/github.com\/ReinerBforartists\/berliner_schule_sequencer<\/a><\/span><\/p>\n<p>Watch the 0.9.3 release video at Youtube:<br \/><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/www.youtube.com\/watch?v=JwNIeU2HabA\">https:\/\/www.youtube.com\/watch?v=JwNIeU2HabA<\/a><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b50ed43 e-con-full e-flex e-con e-parent\" data-id=\"b50ed43\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f9c609 elementor-widget elementor-widget-text-editor\" data-id=\"7f9c609\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t\n<h3><b><code>\u00a0\u21e9 <\/code><\/b>Downloads<\/h3>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2f07a53 e-con-full e-flex e-con e-child\" data-id=\"2f07a53\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-dee0005 e-con-full e-flex e-con e-child\" data-id=\"dee0005\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9d9a719 elementor-widget elementor-widget-text-editor\" data-id=\"9d9a719\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>04.07.2026 &#8211; Version 1.0.0<br \/><br \/>The button will call the tool online (for now). But you can also download it. To download, right click at the link and choose save as.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bbad798 e-con-full e-flex e-con e-child\" data-id=\"bbad798\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fd1e11c elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"fd1e11c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/haizytiles.reinerstilesets.de\/apps\/berliner-schule-sequencer.html\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Open Berliner Schule Sequencer<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f2df08a e-flex e-con-boxed e-con e-parent\" data-id=\"f2df08a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2454ef1 elementor-widget elementor-widget-text-editor\" data-id=\"2454ef1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div>\n<h3 data-start=\"19\" data-end=\"397\">\u00a0\u2728 Core Functionality<\/h3>\n<p>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.<\/p>\n<p>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.<\/p>\n<h3 data-start=\"19\" data-end=\"397\">\u00a0\u2728 Composition Modes<\/h3>\n<p>Classic: A &#8220;Random Walk&#8221; within the selected scale, creating fluid and grounded melodies.<br \/>Klaus Schulze: Focuses on sparse, long-held notes and drones for a meditative atmosphere.<br \/>Offbeat Anchor: Locks specific steps (usually offbeats) to a fixed pedal point while the rest of the melody varies.<br \/>Arpeggiator: Cycles through chord tones; these can be mutated over time to evolve the rhythmic pattern.<br \/>Motivic: Generates a 4-note &#8220;DNA motif&#8221; and applies classical transformations (Inversion, Retrograde).<\/p>\n<h3 data-start=\"19\" data-end=\"397\">\u00a0\u2728 Harmonic Palette (Scales)<\/h3>\n<p>The mood of the sequence is determined by the selected scale:<br \/>Dorian: Sophisticated, slightly melancholic but open.<br \/>Phrygian: Dark, tense, and exotic; typical for &#8220;dark cosmic&#8221; sounds.<br \/>Aeolian (Natural Minor): Classic sad or dramatic tone.<br \/>Mixolydian: Brighter, more dominant and open.<br \/>Minor\/Major Pentatonic: Simplified scales that always sound harmonious and fluid.<br \/>Plus four dystopic modes. Locrian, Whole Tone, Half-Whole Diminished, Chromatic.<\/p>\n<h3 data-start=\"19\" data-end=\"397\">\u00a0\u2728 Evolutionary Export (\ud83e\uddec)<\/h3>\n<p dir=\"auto\">Beyond standard MIDI loops, the sequencer features an evolutionary chain generator that creates long-form compositions by mutating a sequence across multiple blocks:<\/p>\n<ul dir=\"auto\">\n<li><strong>Iterations<\/strong>: Number of mutation blocks (1\u201364).<\/li>\n<li><strong>Mutation<\/strong>: How many notes change per block \u2014 controls speed of divergence from the original.<\/li>\n<li><strong>Drift<\/strong>: Probability of a sudden octave jump between blocks.<\/li>\n<li><strong>Oct Drift<\/strong>: Gradual octave drift that accumulates across blocks, distinct from the sudden jumps of Drift.<\/li>\n<li><strong>Grip<\/strong>: How strongly the evolution is pulled back toward the original theme.<\/li>\n<li><strong>Chaos<\/strong>: Same chromatic contamination as the main sequencer, applied independently to the evolution chain.<\/li>\n<li><strong>Evolution Curve<\/strong>: Shapes mutation intensity over time \u2014 Linear, Ramp Up, Arch, Valley, Ease In\/Out.<\/li>\n<li><strong>Mutation Style<\/strong>: Palette Walk (adjacent steps), Palette Random (any tone), or Mix.<\/li>\n<li><strong>Root Mode<\/strong>: Controls whether and how the tonal centre shifts across blocks. Includes static, free\/random, interval-based (Thirds, 4ths\/5ths, Cycle of Fifths), Berliner Schule\/Ambient (Modal, Circulating Fifths, Slow Oscillation), and Pop\/Rock\/Standards presets (50s, Andalusian, Jazz Standard, Pachelbel, etc.).<\/li>\n<li><strong>Evo Seed Mode<\/strong>: Fixed (reproducible) or Random (fresh chain on each refresh).<\/li>\n<\/ul>\n<p dir=\"auto\">A live preview canvas shows the full evolutionary arc before export.<\/p>\n<div class=\"markdown-heading\" dir=\"auto\">\n<h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">Installation &amp; Usage<\/h2>\n<\/div>\n<h3>\ud83d\udce5 Installation &amp; Usage<\/h3>\n<p>No installation is required. It is a browser tool. Simply download or open `berliner-schule-sequencer.html` in any modern web browser.<\/p>\n<h3>\ud83d\ude80 Operation Guide<\/h3>\n<h4>Parameter Behavior<\/h4>\n<p>Live Parameters (Green Labels): These affect the playback engine in real-time (e.g., BPM, Swing). Changes are audible immediately.<br \/>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 &#8220;\u21bb Generate&#8221; button can also be used to manually trigger a new seed.<\/p>\n<h4>Key Settings<\/h4>\n<p>Timing &amp; Rhythm: Adjust BPM, Swing, and Steps per Beat (resolution).<br \/>Phrase &amp; Notes:<br \/>&#8211; `Scale &amp; Root`: Defines the harmonic palette.<br \/>&#8211; `Steps`: Length of one musical idea before it repeats.<br \/>&#8211; `Density`: Probability of a note occurring on any given step.<br \/>&#8211; `Interval`: Limits the &#8220;jump&#8221; between consecutive notes to control melodic smoothness.<br \/>Variation: Controls how much each repeat of a phrase differs from the original, preventing robotic repetition.<\/p>\n<h4>Visual Legend<\/h4>\n<p>Blue cell: Standard generated note.<br \/>Pink cell: Anchor note (fixed pitch).<br \/>Dark\/empty cell: A rest.<br \/>Semi-transparent blue: A tie (held note).<br \/>Blue height bar: Relative pitch indicator.<\/p>\n<\/div>\n<h3>\ud83d\udcdc License &amp; Credits<\/h3>\n<p>Berliner Schule Seqencer is free and open source.<br \/>MIT License \u00a9 2026 Reiner Prokein<\/p>\n<p>Made with \u2764\ufe0f by Reiner Prokein<\/p>\n<hr \/>\n<h3 data-section-id=\"b6p2zd\" data-start=\"399\" data-end=\"414\">\u2728 Motivation<\/h3>\n<p data-start=\"0\" data-end=\"422\">I&#8217;m a child of the eighties and was socialized with post punk music. That doesn&#8217;t stop me from listening to music from many different genres. I&#8217;m also a big fan of early electronic music. The seemingly arbitrary melodies in the music of <span class=\"hover:entity-accent entity-underline inline cursor-pointer align-baseline\"><span class=\"whitespace-normal\">Klaus Schulze<\/span><\/span> have always fascinated me. However, I was never able to create anything like that by hand. I always ended up making my usual kind of music instead.<\/p>\n<p data-start=\"424\" data-end=\"638\" data-is-last-node=\"\" data-is-only-node=\"\">So I started to investigate whether I could automate this step nowadays. It turned out that, with AI assisted development, I can. Now let&#8217;s see if I can find my way into this genre and release a few tracks in that style.<\/p>\n<h3 data-start=\"19\" data-end=\"397\">\u2728 History<\/h3>\n<p data-start=\"19\" data-end=\"397\">04.07.2026 &#8211; Version 1.0.0<\/p>\n<p>This is version 1.0.0. Finally the final version<\/p>\n<p>One more bug was found and fixed. The evolution drift had no effect. Now the evolution drift drifts in the range of the chosen scale. And the octave drift drifts by octaves again as it should.<\/p>\n<p data-start=\"19\" data-end=\"397\">29.06.2026 &#8211; Version 0.9.4<\/p>\n<p>Most importantly, the seeds for the sequencer and evolution are now independent. You now have to click the refresh button to generate a new seed, meaning that toggling buttons no longer automatically regenerates one. This allows you to return to previous settings and get the same result every time. Additionally, the Arp now respects sorting, and you will see a warning if JavaScript is disabled.<\/p>\n<p>Under the hood, i&#8217;ve consolidated some code and comments and removed dead variables. I also fixed a few minor bugs, such as the swing button not displaying &#8220;off&#8221; when set to 0%. I experimented with a snapshot system, but since the seeds are now independent and must be changed explicitly, a snapshot system is no longer necessary.<\/p>\n<p data-start=\"19\" data-end=\"397\">26.06.2026 &#8211; Version 0.9.2 + 0.9.3<\/p>\n<p data-start=\"19\" data-end=\"397\">The 0.9.2 release is mainly about UI UX refinements. The sliders are gone, we have now buttons instead. There is now a similar and improved piano roll view for both the sequence and the evolution, which is much easier to visualize. 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&#8217;s always something to tweak. The redesign also introduced some inconsistencies under the hood, which required some code cleanup. Especially css made lots of fun.<br \/><br \/>And while preparing the release of version 0.9.2 i had the ideat to add back some chaotic dirt. The implementation turned out to be faster as thought. And so we have yet another release quickly after the 0.9.2 release. The chaos buttons breaks the defined rules. For examply by playing notes outside of the defined palette or range.<\/p>\n<p>18.06.2026 &#8211; Version 0.9.1.1<br \/>A quick little update because of a showstopper bug.<br \/><br \/>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.<\/p>\n<p>17.06.2026 &#8211; Version 0.9.1<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>03.06.2026 &#8211; Version 0.9.0<br \/><br \/>First public realease. After quite a few iterations of battling with the fine details the tool is stable enough. Which took me a while, since AI always introduced two new issues by fixing one. But in the end i could convince it to do what i want.\u00a0<\/p>\n<p>&#8211; Reiner<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u2728 Berliner Schule Sequencer\u00a0is an algorithmic MIDI sequencer that runs directly in the browser. It generates melodic patterns inspired by the Berliner Schule\u00a0style of electronic music, balancing repetition with subtle organic evolution. The project is open source under MIT license, and can be found at Github too: https:\/\/github.com\/ReinerBforartists\/berliner_schule_sequencer Watch the 0.9.3 release video at Youtube:https:\/\/www.youtube.com\/watch?v=JwNIeU2HabA [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1106","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/pages\/1106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/comments?post=1106"}],"version-history":[{"count":46,"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/pages\/1106\/revisions"}],"predecessor-version":[{"id":1256,"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/pages\/1106\/revisions\/1256"}],"wp:attachment":[{"href":"https:\/\/haizytiles.reinerstilesets.de\/index.php\/wp-json\/wp\/v2\/media?parent=1106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}