Okay, wir haben es endlich: Version 2.0 ist da, und diesmal fühlt sich das ganze Ding wie ein richtiges Musiktool an. Aber was hat sich verändert?

 

1. Design-Upgrade

  • Das Layout ist jetzt noch kompakter und moderner, inspiriert von FL Studio und Ableton.
  • Dunkles UI mit abgestimmten Kontrasten, um eine gute Sichtbarkeit und Ästhetik zu bieten.
  • Responsive Anpassung: Es funktioniert auch auf Smartphones, wenn man es ins Querformat dreht.
  • Buttons und UI-Elemente wirken moderner, mit sanften Animationen und einem durchdachteren Look.

2. Verbesserte Interaktion im Drum-Sequenzer

  • Das Raster wurde überarbeitet, damit es sich präziser bedienen lässt.
  • Mehr visuelles Feedback, wenn Zellen aktiviert werden.
  • Die „Randomizer“-Funktion nutzt jetzt Wahrscheinlichkeiten, sodass z. B. Kicks häufiger vorkommen als Cowbells (niemand braucht zufällige Cowbell-Spam).

3. Piano Roll – Jetzt Richtig Funktional! 

  • Noten lassen sich nicht nur setzen, sondern jetzt auch verlängern und verschieben.
  • Neue Tonleiterauswahl, damit man direkt skaliert arbeiten kann.
  • Verschiedene Instrumente! 🎸🎷🎻 – Ob ein Lead-Synth oder ein Pad, du kannst jetzt zwischen mehreren Sounds wählen.
  • Velocity-Steuerung geplant! (Der nächste logische Schritt für Version 2.1 😉).

4. Sound-Engine & Effekte 

  • Eigene Synth-Sounds mit echten ADSR-Werten – das Ding klingt nicht mehr nach kaputtem Gameboy.
  • Reverb, Delay & Distortion integriert – mit individuell anpassbaren Werten.
  • Lowpass-Filter für einen weichen Mix.
  • Alle Effekte können per Knopf aktiviert/deaktiviert werden – für maximale Kontrolle.

Interessante Code-Details:

 

Hier ein paar besonders coole Abschnitte, die zeigen, was unter der Haube passiert:

 

1. Noten-Handling in der Piano-Roll


👉 Noten können per Klick erstellt, verschoben und in der Länge verändert werden.

 

function createNote(noteRow, noteStart, noteDuration, area) {  const grid = document.getElementById("pianoRollGrid");  const cellWidth = grid.offsetWidth / pianoColumns;  const cellHeight = grid.offsetHeight / pianoRows;    const note = document.createElement("div");  note.className = "note-block";  note.style.left = `${(noteStart / pianoColumns) * 100}%`;  note.style.top = `${(noteRow / pianoRows) * 100}%`;  note.style.width = `${noteDuration * cellWidth}px`;  note.style.height = `${cellHeight}px`;    const handle = document.createElement("div");  handle.className = "note-drag-handle";  note.appendChild(handle);    grid.appendChild(note); }

 

 

✨ Warum ist das cool?

  • Noten lassen sich direkt im Raster setzen, verschieben und vergrößern, ohne extra Buttons.
  • Flexible Darstellung, damit sie sich auf verschiedenen Bildschirmgrößen anpassen.

2. Klang-Generierung für Drum-Sounds


👉 Jeder Drum-Sound wird synthetisch im Browser generiert – keine Samples!

 

function playKick() {  const osc = audioCtx.createOscillator();  osc.type = "sine";  const gainNode = audioCtx.createGain();    osc.frequency.setValueAtTime(150, audioCtx.currentTime);  osc.frequency.exponentialRampToValueAtTime(50, audioCtx.currentTime + 0.1);    gainNode.gain.setValueAtTime(1, audioCtx.currentTime);  gainNode.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.3);    osc.connect(gainNode);  gainNode.connect(audioCtx.destination);  osc.start();  osc.stop(audioCtx.currentTime + 0.3); }

 

 

✨ Warum ist das cool?

  • Reine Synthese – die Sounds werden live generiert!
  • Keine Audiodateien nötig, alles passiert in Echtzeit über das Web Audio API.
  • Man kann mit Frequenzen und ADSR-Hüllkurven herumspielen.

3. Live Playback mit Playhead-Animation


👉 Der Playhead bewegt sich durch den Sequencer und zeigt, wann welche Sounds getriggert werden.

 

 

function startPlayback() {  stopPlayback();  currentStep = 0;  const playhead = document.createElement("div");  playhead.className = "playhead";  document.getElementById("sequencerGrid").appendChild(playhead);  globalInterval = setInterval(() => {    playhead.style.left = `${(currentStep / seqCols) * 100}%`;    for (let r = 0; r < 7; r++) {      if (sequence[r][currentStep]) {        if (r === 0) playKick();        else if (r === 1) playSnare();        else if (r === 2) playHiHat();      }    }    currentStep = (currentStep + 1) % seqCols;  }, 60000 / globalBPM / 4); }

 

 

✨ Warum ist das cool?

  • Live-Animation, die genau anzeigt, welcher Sound als Nächstes getriggert wird.
  • Synchronisation mit Drum- und Piano-Sequenzen.
  • Variable Geschwindigkeit (BPM), die sich anpassen lässt.

Was kommt als Nächstes?

 

Version 2.1 ist schon in Planung!

  • Knobs statt Slider für Lautstärken? 🎛️
  • Velocity für Noten 🎶
  • Mögliche Chord-Funktion? 🎵

Jetzt bist du dran: Teste ALVI 2.0 und sag mir, was du denkst!

ALVI Version 2.0 – Was ist neu?

Mini-DAW: Jetzt wird’s richtig wild!

Ich hätte es wissen müssen. Aber nein – ich dachte, "Hey, ich hab doch jetzt einen funktionierenden Drum-Sequenzer, dann kann ich ja gleich noch eine Mini-DAW dranhängen!"

 

Spoiler: Es war eine dumme Idee.

 

Sonntag, 10:00 Uhr – Die Idee

 

Sonntag ist eigentlich so ein Tag, an dem ich mir ein bisschen Ruhe gönne. Aber dann kam der Gedanke: "Was, wenn ich das Prinzip des Drum-Sequenzers auf eine richtige Piano-Roll übertrage?" Ich wollte endlich nicht nur Drums, sondern auch Melodien erzeugen können – komplett aus dem Nichts, nur mit Code und purer mathematischer Magie.

 

Wie schwer kann das schon sein? (Ich werde diese Frage echt nie wieder stellen.)

 

Sonntag, 15:00 Uhr – Das Piano-Roll-Dilemma

 

Der Plan war einfach: Ein Gitternetz, in dem man Noten setzen kann. Die sollen dann im richtigen Tempo abgespielt werden – so wie in jeder DAW. Easy, oder?

 

Nicht ganz. Denn plötzlich tauchten Probleme auf, an die ich beim Drum-Sequenzer nicht mal gedacht hatte:

  • Wie synchronisiere ich die Noten?
  • Wie lassen sie sich verlängern und verschieben?
  • Wie verhindere ich, dass das ganze Ding nach kaputtem Gameboy klingt?

 

Ich hatte mir eine Welt voller neuer Fragen geöffnet – und jede Antwort brachte noch mehr Probleme mit sich.

 

Sonntag, 19:00 Uhr – Der Moment der Wahrheit

 

Nach stundenlangem Fluchen, Debugging und Selbstzweifeln hatte ich es irgendwie geschafft. Die Noten ließen sich setzen, das Timing funktionierte – und dann spielte ich die ersten Töne ab.

 

Ergebnis? Ein schrecklicher Klangteppich, der so gar nicht nach Musik klang. 

 

Die Lösung? 

 

Frequenzen anpassen, Release-Zeiten verkürzen, Lautstärke richtig einpegeln. 

 

Im Grunde alles, was man auch in einer richtigen DAW machen muss – nur dass ich hier keinen Mixer, keine Effekte und keine schöne Oberfläche hatte. Ich musste jede Kleinigkeit per Code regeln.

 

Sonntag, 23:30 Uhr – Das Monster lebt!

 

Nach weiteren Anpassungen, einem zufälligen Bug, der plötzlich alles cool klingen ließ (ich nenne ihn "der magische Zufall"), und unzähligen Testläufen stand sie dann:

 

Meine eigene kleine DAW.

  • Drum-Sequencer für den Groove
  • Piano-Roll für Melodien
  • Einfache Effekte für mehr Klangtiefe
  • Zufallsfunktion für spontane Ideen

 

Ich war durch. Fix und fertig. Aber stolz. Denn selbst wenn das hier nur ein kleines Browser-Tool ist – das Prinzip ist genau das, was in jeder echten DAW steckt. In einer richtigen DAW wie FL Studio kommen dann noch Automation, Sounddesign, Mixing, Mastering und hundert andere Dinge dazu.

Und genau das zeigt: Musik machen ist viel mehr als nur ein paar Töne setzen.

 

UPDATE: Es funktioniert auch auf dem Smartphone einfach das Gerät im Querformat verwenden!

 

Fazit: Man wächst mit seinen Projekten

 

Was als kleine Sonntags-Idee begann, ist jetzt ein eigenständiges Tool. Ich weiß nicht, ob es jemand wirklich ernsthaft nutzen wird – aber das ist egal. Ich wollte es bauen, ich hab es gebaut, und ich hab dabei wieder mal gelernt, dass Dinge oft viel komplizierter sind, als sie anfangs aussehen.

 

Probiere es aus und sag mir, was du denkst! Falls du Bugs findest: Bitte mit Humor nehmen – und behalten! 😄

Einen Mini Drum-Sequenzer bauen ist einfach! (Dachte ich...)

Ich dachte wirklich, dass es ein Kinderspiel wird. Einen einfachen Drum-Sequenzer selbst programmieren – wie schwer kann das schon sein? Ein paar Felder zum Anklicken, ein bisschen JavaScript für das Timing, und fertig ist das Ding! Spoiler: Es war verdammt schwer.

 

Der Anfang: "Ich bau mal schnell einen Sequenzer!"

 

Meine naive Idee: Ich wollte nicht einfach nur Drums arrangieren, sondern einen Sequenzer komplett selbst entwickeln – von Grund auf in HTML und JavaScript. Also setzte ich mich an den Rechner und dachte mir: "Geben wir dem Ganzen mal zwei Stunden...". Schnitt: Es war 2 Uhr morgens, mein Gehirn war Matsch, und der Sequenzer funktionierte – na ja, sagen wir mal, irgendwie.

 

Herausforderung: Klangdesign statt Samples

 

Es gibt Dinge, die ich als Musiker und Komponist einfach "fühle". Aber dann kam die Realität in Form von Code daher und sagte: "Nope, du brauchst Struktur!" Der Sequenzer sollte ja nicht nur zufällig Töne ausspucken, sondern Drums erzeugen – und das ohne Samples, sondern nur mit Sinus-, Rechteck- und Sägezahn-Wellen. Und da beginnt die Wissenschaft:

Kickdrum: Eine tiefe, kurze Sinuswelle mit Pitch-Envelope.

Snare: Ein Mix aus Noise und einer gepitchten Sinuswelle.

Hi-Hats: Kurze, modulierte Noise-Bursts.

 

Musiktheorie trifft auf Sounddesign

 

Das erste, was ich lernte: Einen Sequencer zu bauen ist nicht dasselbe wie einfach einen Beat zu setzen. In meiner DAW kann ich einfach Sounds ziehen, aber im Code? Da musste ich wirklich überlegen:

 

  • Welche Frequenzen erzeugen den richtigen Punch?
  • Wie lang sollte die Hüllkurve sein?
  • Wie verhindere ich, dass alles nach kaputtem Radio klingt?

 

Hier half mir meine KI-Kollegin Arel (so nenne ich ChatGPT), die mir immer wieder erklärte, warum mein Kick-Sound nach explodierender Mikrowelle klang. Kurz gesagt: Es war ein langer Weg, und ja, ich habe mich mehrfach gefragt, warum ich mir das antue.

 

Features, die ich unbedingt wollte (und die mich fast in den Wahnsinn getrieben haben)

 

Ich wollte ja nicht nur einen simplen Sequenzer. Nein, ich hatte große Pläne:

 

FX-Sektion für mehr Klangformung

Lautstärkeregler, weil zu leise ist langweilig und zu laut schmerzhaft

Geschwindigkeitskontrolle, um das Tempo flexibel anzupassen

Zufällige Drum-Patterns, weil Inspiration manchmal aus dem Chaos kommt

 

Jede dieser Funktionen bedeutete mehr Code, mehr Debugging und mehr Nächte, in denen ich mir dachte: "Warum tu ich mir das an?" Aber am Ende lief es – und das war es wert!

 

Wichtig: Querformat auf dem Smartphone nutzen!

 

Falls du den Sequenzer auf dem Smartphone testest: Bitte unbedingt ins Querformat wechseln! Sonst wird die Darstellung chaotisch, und das wäre echt schade nach all dem Gefummel, das ich in das Layout gesteckt habe.

 

Dein Feedback zählt!

 

Probiere den Sequenzer aus und sag mir, was du davon hältst! Ich bin gespannt auf dein Feedback – und falls du Bugs findest, einfach behalten. 😄

 

PS: Es gibt nur noch den Mini-DAW "ALVI"!

 

 

Energy, Familie und ein Hauch von Musik: Mein Samstag als Komponist

 

7:30 Uhr: Samstagmorgen. Meine Tochter hüpft schon voller Energie durch die Wohnung, während ich einen Schluck aus meiner zuckerfreien Energy-Dose nehme. Koffein, aber kein Kaffee – denn das brauche ich, um mit ihrem Tempo mitzuhalten.

 

10:00 Uhr: „Papa-Zeit“ in voller Fahrt: Wir spielen, bauen Bauklötze oder erfinden gemeinsam lustige Geschichten. Meine Tochter ist kreativ und überraschend – eigentlich wie ich, nur in Mini.

 

13:00 Uhr: Ein Spaziergang durch den Park – die perfekte Gelegenheit, meinen Kopf mit frischen Sound-Ideen zu füllen. Der Wind in den Bäumen? Klingt wie ein orchestrales Pad. Der Vogelgesang? Vielleicht die Basis für einen Synth. Selbst das Knirschen der Kiesel unter meinen Schuhen hat Rhythmus.

 

15:30 Uhr: Während die Kleine ihren Mittagsschlaf genießt, nutze ich die Zeit, um an einem neuen Jingle zu arbeiten. Mit meinem Laptop und einer frischen Energy-Dose bin ich bereit, das nächste große Soundprojekt zu rocken.

 

17:00 Uhr: Meine Tochter wacht auf, hört meinen Entwurf und ruft: „Das klingt cool!“ Ihr Lächeln ist die beste Bestätigung, die ich bekommen kann – besser als jede Kundenbewertung.

 

Die strengste Kritikerin? Meine Tochter!

 

Kreativität ist etwas Wunderschönes – aber auch eine Herausforderung. Und während viele ihre Ideen von Agenturen oder Testgruppen prüfen lassen, gibt es bei mir einen sehr speziellen, aber unbestechlichen Filter: meine sechsjährige Tochter.

 

Sie ist meine erste Anlaufstelle, wenn ich eine neue Komposition fertigstelle. Ich spiele ihr den Track vor und beobachte ihre Reaktion. Lacht sie, fängt sie an zu tanzen oder ruft begeistert: „Cool!“? Dann weiß ich, dass ich auf dem richtigen Weg bin. Aber wehe, der Song trifft nicht ihren Geschmack. Dann kommt dieser typische Gesichtsausdruck, ein Daumen nach unten – und meistens die präzise Analyse: „Die Gitarre klingt kratzig.“ oder „Da zischt etwas viel zu laut.“

 

Es fasziniert mich immer wieder, wie pur und direkt ihre Reaktionen sind. Ohne Filter, ohne höfliches Drumherum. Und das Beste: Sie hat recht. Ihr kindliches Gehör entlarvt sofort, wenn etwas nicht rund ist – und gibt mir damit eine der ehrlichsten und wertvollsten Kritiken, die ich mir wünschen kann.

 

Das zeigt mir auch: Musik, die bewegt, ist nicht nur eine Frage von Technik oder Trends. Es geht darum, Emotionen zu wecken, eine Verbindung zu schaffen – und wenn schon ein Kind das spürt, dann habe ich meinen Job gut gemacht.

 

20:00 Uhr: Die Kleine schläft, und jetzt ist Zeit für mich und meine Frau. Wir genießen den Abend entspannt – meistens ohne Bildschirm, denn die Familie gibt mir Kraft, Inspiration und das richtige Mindset, um immer 100 % abzuliefern.

 

Moral der Geschichte?

Mein Samstag ist wie ein gut komponiertes Musikstück: Familie ist der Herzschlag, und die Arbeit ist die Melodie. Diese Balance hält mich auf Kurs – und treibt mich an, jeden Jingle, jeden Soundtrack so einzigartig wie möglich zu gestalten.

Wir benötigen Ihre Zustimmung zum Laden der Übersetzungen

Wir nutzen einen Drittanbieter-Service, um den Inhalt der Website zu übersetzen, der möglicherweise Daten über Ihre Aktivitäten sammelt. Bitte überprüfen Sie die Details in der Datenschutzerklärung und akzeptieren Sie den Dienst, um die Übersetzungen zu sehen.