Aus #156, Durchgang 5. Vorgemerkt in #332, danach in keinem Issue gebaut.
Herkunft
#332 fragte: „Swing (jede zweite Achtel oder Sechzehntel etwas später): gleich mit einplanen oder später?“ Die Antwort in der Fragerunde war „später, mit #333/#334“. Unter Grenzen steht im Abschluss: „Kein Swing … (#333/#334)“.
In den Fragerunden von #333 (Pattern) und #334 (Song) kommt Swing nicht mehr vor. Beide sind geschlossen.
Im Code gibt es ihn nicht: swing kommt in src/core/music nirgends vor. Die Treffer in src/core/soundfx/lfo.ts und phaser.ts meinen das Pendeln eines LFO.
Das ist derselbe Fall wie die Ghost-Noten, die in #333 vorgemerkt und dann in #339 nachgeholt wurden.
Vorschlag
Ein Feld Swing von 0 bis 100 %, Standard 0, dazu Swing grid mit 1/8 oder 1/16.
Nur beim Abspielen: Die Noten im Modell bleiben, wo sie sind. Verschoben wird erst beim Planen, in notesIn (src/core/music/sequence.ts:79), wo jede Note ihr at bekommt. Bei 100 % liegt die zweite Note eines Paars auf der Triole (2/3 statt 1/2 des Paars).
Die Piano Roll zeichnet die Noten weiter auf dem Raster. Swing hört man, man sieht ihn nicht.
Gilt für Pattern im Pattern-Tab, im Song und bei Play pattern / Play song im Spiel, weil alle über denselben Scheduler (#332) laufen.
Offen (mit Vorschlag)
Wo sitzt das Feld? Am Pattern, am Song (für alle Spuren) oder an beiden? Vorschlag: am Pattern. Im Song gilt der Wert des Patterns, ein Song-Item kann ihn später überstimmen, falls das gebraucht wird.
Welche Noten wandern? Nur Noten genau auf der zweiten Position eines Paars, oder alle dazwischen anteilig? Vorschlag: anteilig. Die Zeit innerhalb eines Paars wird gestaucht und gedehnt, so wandern frei gesetzte Noten (Alt) und Notenenden stimmig mit.
Sound-Items im Song bleiben ungeswingt, sie haben keine Noten. Vorschlag: so lassen.
Fertig, wenn
Unit-Test: Auf 1/8 bei 120 BPM kommt die zweite Achtel eines Paars bei 100 % 1/12 s später als gerade (0,333 statt 0,25 s), bei 50 % 1/24 s später und bei 0 % genau gerade. Dazu eine Gegenprobe.
e2e 64: Ein Pattern mit Swing spielt seine Achteln im gemessenen Abstand lang–kurz.
Aus #156, Durchgang 5. Vorgemerkt in #332, danach in keinem Issue gebaut.
## Herkunft
- #332 fragte: „Swing (jede zweite Achtel oder Sechzehntel etwas später): gleich mit einplanen oder später?“ Die Antwort in der Fragerunde war **„später, mit #333/#334“**. Unter *Grenzen* steht im Abschluss: „Kein Swing … (#333/#334)“.
- In den Fragerunden von #333 (Pattern) und #334 (Song) kommt Swing nicht mehr vor. Beide sind geschlossen.
- Im Code gibt es ihn nicht: `swing` kommt in `src/core/music` nirgends vor. Die Treffer in `src/core/soundfx/lfo.ts` und `phaser.ts` meinen das Pendeln eines LFO.
Das ist derselbe Fall wie die Ghost-Noten, die in #333 vorgemerkt und dann in #339 nachgeholt wurden.
## Vorschlag
- Ein Feld **Swing** von 0 bis 100 %, Standard 0, dazu **Swing grid** mit 1/8 oder 1/16.
- **Nur beim Abspielen:** Die Noten im Modell bleiben, wo sie sind. Verschoben wird erst beim Planen, in `notesIn` (`src/core/music/sequence.ts:79`), wo jede Note ihr `at` bekommt. Bei 100 % liegt die zweite Note eines Paars auf der Triole (2/3 statt 1/2 des Paars).
- Die Piano Roll zeichnet die Noten weiter auf dem Raster. Swing hört man, man sieht ihn nicht.
- Gilt für Pattern im Pattern-Tab, im Song und bei *Play pattern* / *Play song* im Spiel, weil alle über denselben Scheduler (#332) laufen.
## Offen (mit Vorschlag)
1. **Wo sitzt das Feld?** Am Pattern, am Song (für alle Spuren) oder an beiden? Vorschlag: **am Pattern**. Im Song gilt der Wert des Patterns, ein Song-Item kann ihn später überstimmen, falls das gebraucht wird.
2. **Welche Noten wandern?** Nur Noten genau auf der zweiten Position eines Paars, oder alle dazwischen anteilig? Vorschlag: **anteilig**. Die Zeit innerhalb eines Paars wird gestaucht und gedehnt, so wandern frei gesetzte Noten (Alt) und Notenenden stimmig mit.
3. **Sound-Items im Song** bleiben ungeswingt, sie haben keine Noten. Vorschlag: so lassen.
## Fertig, wenn
- Unit-Test: Auf 1/8 bei 120 BPM kommt die zweite Achtel eines Paars bei 100 % 1/12 s später als gerade (0,333 statt 0,25 s), bei 50 % 1/24 s später und bei 0 % genau gerade. Dazu eine Gegenprobe.
- e2e 64: Ein Pattern mit Swing spielt seine Achteln im gemessenen Abstand lang–kurz.
meleki
added the new label 2026-10-09 14:42:27 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Aus #156, Durchgang 5. Vorgemerkt in #332, danach in keinem Issue gebaut.
Herkunft
swingkommt insrc/core/musicnirgends vor. Die Treffer insrc/core/soundfx/lfo.tsundphaser.tsmeinen das Pendeln eines LFO.Das ist derselbe Fall wie die Ghost-Noten, die in #333 vorgemerkt und dann in #339 nachgeholt wurden.
Vorschlag
notesIn(src/core/music/sequence.ts:79), wo jede Note ihratbekommt. Bei 100 % liegt die zweite Note eines Paars auf der Triole (2/3 statt 1/2 des Paars).Offen (mit Vorschlag)
Fertig, wenn
vorschläge passen