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
2. Verbesserte Interaktion im Drum-Sequenzer
3. Piano Roll – Jetzt Richtig Funktional!
4. Sound-Engine & Effekte
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?
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?
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?
Was kommt als Nächstes?
Version 2.1 ist schon in Planung!
Jetzt bist du dran: Teste ALVI 2.0 und sag mir, was du denkst!
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:
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.
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! 😄
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:
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"!
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.
Selim Kartal Kus - COMPOSER & CREATIVE CONSULTANT - 2025
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.