Uija
||||
Hey!
Nachdem mich nun einige privat angeschrieben haben (hier und in anderen Foren), wollte ich nun mal "meinen" Sequencer vorstellen.
Als ich mich irgendwann Mitte 2020 auf die Cirklon Warteliste hab setzen lassen, scherzte ich noch unwissend, dass es wohl fast schneller sei, wenn man einfach selber einen Sequencer bauen würde. Den Traum dafür hatte ich schon lange, mein Wissen für Elektron und co. war aber einfach viel zu schlecht. Versuche mit selbst geätzten und gefrästen Platinen waren irgendwie unbefriedigend.
Irgendwann bin ich dann (viel zu spät) über Videos gestolpert, die davon berichten, wie günstig man mehrschichtige Platinen in China bestellen kann.
Damit fing die Reise an. Der erste Versuch war inspiriert von dem Sequencer, den ich bis dato am besten fand, der Deluge, ein Grid-Sequencer auf Basis von Neotrellis Platinen.
Den ersten Prototypen mit echten Platinen hatte ich Anfang 2022 auf dem Tisch. Zuerst ein ILI9341 display, dann mit 128x64px OLED. Angetrieben von einem Teensy 4.1 Board, ein Raspberry PI Pico hat sich um die Encoder und Buttons gekümmert, 4 MIDI Out + 4xUsb Device
![seq01.jpg seq01.jpg](https://www.sequencer.de/synthesizer/data/attachments/158/158998-7fdd1ee19272ef0cfa092480a6bc472e.jpg)
Endlich musste ich nicht mehr mit 1000 Kabeln auf nem Breadboard, Wackelkontakten an den Encodern und fehlenden Knöpfen leben. Mit der Zeit hab ich aber ein paar Dinge festgestellt:
Der Raspberry Pi Pico ist zwar angenehm günstig, die Qualität des C/C++ SDK und grundsätzlich der Entwicklungsumgebung was furchtbar.
Mir fehlte eine Repräsentation, wo man gerade ist (aka LEDs an den Buttons)
Die Neotrellis knöpfe waren unglaublich wabbelig und irgendwie nicht so responsive, wie ich es gerne gehabt hätte. Keine Ahnung, ob es an dem langen Weg, bis sie reagieren liegt, oder meiner Implementation.
Da ich eh schon mit dem Seq4+ geliebäugelt hab und ja auch auf der Cirklon Warteliste stand, hab ich also parallel an einer neuen Hardware Iteration gearbeitet. Wie man unschwer erkennen kann, hab ich mich sehr stark vom Cirklon inspirieren lassen. Die beiden Encoder Links und Rechts zur Navigation und die beiden Analogen Potentiometer rechts oben wollte ich auch unbedingt haben. Letztendlich hab ich aber noch eine Reihe mehr Buttons dazu gepackt, um mehr Sachen im direkten Zugriff zu haben.
Da die erste Platine relativ teuer, weil sehr groß war, und bei einer Mindestabnahme von 5 Stück ja dann 4 ungenutzt rumlagen, hab ich die neue Hardware inspiriert durch das Seq V4 Projekt modularer aufgebaut. Ich hab die Platinen so aufgeteilt, dass die Encoder und Buttons unten in 4er Gruppen aufgeteilt waren, damit hab ich schonmal 4 von 5 Platinen genutzt, obwohl sie unterschiedlich aussehen, nutzen die beiden Seiten die gleiche, wie auch die beiden oberen Blöcke. Alles wird via Flachbandkabel auf einer IO Platine gesammelt, dort durch unterschiedliche ICs vorbereitet und an das Logic-Board geschickt, wo sich der Teensy, Stütztbatterie, USB gedöhns und so befindet.
Das Ergebnis war schon mal geil, aber intern ein unendlich frustrierender Kabelsalat:
![seq02.jpg seq02.jpg](https://www.sequencer.de/synthesizer/data/attachments/158/158999-2b1a4ca7424245bbc8daba49fc914cf5.jpg)
Ich hab leider keine Fotos vom Innenleben gemacht. Mittlerweile hab ich die Platinen alle verwertet, in dem ich alle Bauteile abgetötet habe für spätere Experimente.
Auf dieser Kiste hab ich dann sehr viel Firmware gebaut sowie etliche Experimente mit unterschiedlichen Displays gemacht. Zwischenzeitlich hab ich die Firmware sogar auf einen Raspberry Pi portiert um mehr Möglichkeiten auf grafischer Seite zu haben:
![seq2.5.jpg seq2.5.jpg](https://www.sequencer.de/synthesizer/data/attachments/159/159000-5657fafc2e4a47911d87f6ce0e1415ff.jpg)
Hier konnte ich vieles wiederverwenden, muss halt nur das Rendern der Oberfläche sowie die Midi implementation über ALSA bauen. Vom UI war das großartig. Multithreading hat mich das komplette UI animieren lassen, mit Farben konnte man viel mehr viel deutlicher präsentieren, und die Auflösung von 800x400 war halt viel angenehmer als 128x64.
Wenn da nicht der Unterschied zwischen den Plattformen sind. Auf einem Teensy läuft wie auf einem Arduino kein Betriebsystem. Da läuft die eigene Firmware, und wenn man einen Timer einstellt, der nach x micosekunden triggers soll, dann passiert das genau wie gewollt. Auf einem Computer, wie der Raspberry Pi einer ist, läuft da ein Betriebsystem (in dem Fall Linux), dass dafür zuständig ist, all die parallel laufenden Prozesse unter einen Hut zu bekommen. Da sitzt also irgendwo ein Stück code, der entscheidet, wann welcher Prozess wie viel CPU zur Verfügung gestellt bekommt. Das führt zu Latenzen im Audio und Midi Bereich (Darum wurde vor vielen vielen Jahren mal das Asio4all Projekt ins Leben gerufen, weil Windows wirklich ALLES über Audio priorisiert hatte). Ich konnte da an vielen Schrauben stellen, aber am Ende musste ich entscheiden, wo ich weiter machen wollte, und hab mich für die wirklich wirklich tighte implementation auf dem Teensy entschieden. Letztendlich ist das mit ner MPC zu vergleichen. Natürlich funktioniert eine moderne MPC gut, und in den aller meisten Fällen merkt man nichts, aber eine alte MPC ist halt deutlich tighter...
Da mir all die Probleme, die mit dem Kabelsalat einher gingen, und das dadurch viel zu große Device irgendwie dauerhaft begleitet haben, hab ich dann Ende 2022 eine neue Platine designed. Alles (Bis auf MIDI Outs) auf einer Platine, Abstände zwischen den Buttons etwas kleiner, angepasst auf das mittlerweile eingesetzte 256x64px Display usw:
Auch wenn ich bereits jetzt schon wieder an einer zweiten Version dieser Platine Arbeite (LEDs wieder nach unten, 3 weitere LEDs an den 3 Encodern, besseres Filtern der Potentiometer, dickere Leitungen zu den USB Ports usw), zeigt schon die Geschwindigkeit, wie ich dran arbeite, dass es nur noch ein nice-to-have und keine dringende Notwendigkeit ist...
Ein paar technische Fakten:
Sequencer läuft bei 192ppqn.
16 Tracks (wegen der 16 Buttons. Sollte ich bedarf haben, ist das easy erweiterbar und nur durch den verfügbaren RAM (16MB) eingeschränkt).
Pro Track 16 Patterns (wie bei Tracks, theoretisch erweiterbar)
Ein Pattern besteht aus bis zu 32 Bars mit je 1-16 Steps. Jede Bar hat einen Widerholungswert. Damit kann ich z.B. (1xBar1, 4xBar2, 3xBar3) spielen. Das hab ich mir beim Cirklon abgeguckt.
Es gibt mehrere Track/Pattern typen: Mono, Poly, Drum, Generative. Alle Tracks haben eine 16 Voice Polyphonie. Jede Voice ist komplett eigenständig. Jede der 16 Drumspuren hat eine individuelle Länge (wenn gleich das noch ein wenig im Zusammenspiel mit den Bars kränkelt, weil ich da den Playhear zurücksetzen muss). Jede Note auf einer Poly-Spur ist komplett eigenständig. Jedes Pattern hat eigene Programm-Change Informationen, eine eigene Play-Direction sowie eine eigene "Auflösung", also wie lang ist ein Step, von 1/32-1/1
Pro Step hat jede Voice: Notenwert, Velocity, Länge, Offset (24 substeps), Probability, Ratchets. Im Mono und Drum Track hat jeder Step dazu pro Note noch 4 Werte die "Parameterlocked" werden können.
Mono-Tracks haben dazu etwas, was ein wenig von den Aux-Channels vom Cirklon inspiriert ist. am Besten nutz ich davon den Chord-Modifier, bei dem ich aus einer Liste von 27 Chord-Intervallen auswählen und mit einem 2ten Modifier die Inversion bestimmen kann.
Pro Pattern gibt es 8 Modulation Lanes. Die können entweder LFO (Random, Sine, Triangle, Square, Saw, Inverted Saw) sein, oder vom Typ "Graph". Jede LFO hat eine eigene Frequenz, die Unabhängig von der Länge des Patterns ist. Es ist konfigurierbar, ob ein LFO, der beim Patternwechsel auf einen LFO stößt, der genauso eingestellt ist, einfach weiterläuft oder redetet. Der Graph ist so etwas, wie die Modulation Lane in einer DAW. Man kann in einer Auflösung von 192 schritten pro Bar beliebig viele Punkte setzen, und somit "Pixelgenaues" Modulation machen. Die Länge dieser Modulationsform ist beschränkt auf 64 Bars. (Dies ist einer der Kernpunkte, die mir bei Sequenzen fehlen).
Dazu gibt es noch einen Haufen Generative Features (Euclidean Generator für Drumtracks, diverse Möglichkeiten Melodien zu generieren etc.)
Derzeit hab ich 4 MIDI In und 4 MIDI out (DIN), 4 MIDI In und 4 MIDI Out über USB an den Computer (USB Device) sowie einen USB Host Port, der USB Hub fähig ist, an den ich derzeit bis zu 4 Geräte anschließen kann, die jeweils bis zu 16 In und Out haben können. Wie gut das Funktioniert kann ich aber nicht sagen. Ich hab da einen Blokas Midihub angeschlossen, um 4 weitere DIN Buchsen zu haben.
Technisch gibt es einen Haken. Wenn ich auf Play drücke, wird der erste MIDI event erst einen MIDI-Pulse später rausgeschickt. Ich habe also eine Latenz von 192tel Viertelnote beim Drücken auf Start. Grund dafür ist, dass ich pro Pulse immer die Daten für den nächsten Pulse berechne. Dadurch ist es in einem gewissen Rahmen irrelevant, wie lange das Berechnen von Propabillites und Modulation dauert, am Start eines Pulses werden alle MIDI Events so schnell es CPU und MIDI erlauben rausgeschickt. Messungen haben ergeben, dass das nicht wirklich relevant ist. Ich habe einen Test aufgebaut, der einen Pulse ausgibt, und ich eine Taste als Reaktion auf den Pulse drücken muss (4tel bei 120bpm). Ich drücke, selbst wenn ich mich anstrenge, deutlich unregelmässiger auf den Knopf, als die Latenz durch dieses Features ist.
Anbei eine Reihe Bilder unterschiedlicher Screens. Irgendwie bin ich nicht in der Lage, das Gerät sinnvoll in einem Video vorzustellen![Sad :sad: :sad:](/synthesizer/styles/oldsmilies/icon_sad.gif)
Auch wenn man viel auf dem Screen sieht, bedient wird das ganze vor allem durch die Encoder und Buttons in der Mitte. Selten mal mit dem Hauptencoder oder in Menüs.
Interessant zu erwähnen wär vielleicht auch noch, dass das Speichern und Laden von Projekten funktioniert während der Sequencer läuft. Das ist ja scheinbar nicht überall so.
Project Screen:
![Groß (IMG_5374).jpeg Groß (IMG_5374).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159015-f4c59ed62254e266ebcc4068f23e772a.jpg)
Track Screen
![Groß (IMG_5367).jpeg Groß (IMG_5367).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159022-6845170ccdfed1a8160731a2a6445858.jpg)
Mono Pattern
![Groß (IMG_5368).jpeg Groß (IMG_5368).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159021-e5e9174de6414a5602a2a2c8d629444d.jpg)
![Groß (IMG_5369).jpeg Groß (IMG_5369).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159020-dabf499a0ac7adf797e4d22d61e9c429.jpg)
Generieren von Noten für ein Mono Patterns
![Groß (IMG_5377).jpeg Groß (IMG_5377).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159012-0410c9e2fb13d9540c8e448dc50dc246.jpg)
Drum Pattern
![Groß (IMG_5371).jpeg Groß (IMG_5371).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159018-61f6924c8141f64f4d52e3cc935b0375.jpg)
Eine einfach erweiterbare Menu Struktur zur Configuration
![Groß (IMG_5379).jpeg Groß (IMG_5379).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159011-631917057896d61b952e673ac633a903.jpg)
Bearbeiten von Instrument-Definitionen
![Groß (IMG_5375).jpeg Groß (IMG_5375).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159014-62f921b79fee43d56ffb905bcca98b74.jpg)
![Groß (IMG_5370).jpeg Groß (IMG_5370).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159019-6e4508b81b679f637474162532d3531a.jpg)
Der alte, Elektron inspirierte Songmode
![Groß (IMG_5376).jpeg Groß (IMG_5376).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159013-78a602852dfe5f34a6b9dbcada42d0cf.jpg)
Diverse "Overlays" für Menüs und Feedback gibt es natürlich auch.
![Groß (IMG_5383).jpeg Groß (IMG_5383).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159009-d07209651ee93e500f9b7ee53e22f9a5.jpg)
![Groß (IMG_5380).jpeg Groß (IMG_5380).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159010-1eca44a7b459ac2b697955e4bc22591d.jpg)
![Groß (IMG_5384).jpeg Groß (IMG_5384).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159008-38e020c385b289b22e5d1b96a89626e1.jpg)
Nachdem mich nun einige privat angeschrieben haben (hier und in anderen Foren), wollte ich nun mal "meinen" Sequencer vorstellen.
Als ich mich irgendwann Mitte 2020 auf die Cirklon Warteliste hab setzen lassen, scherzte ich noch unwissend, dass es wohl fast schneller sei, wenn man einfach selber einen Sequencer bauen würde. Den Traum dafür hatte ich schon lange, mein Wissen für Elektron und co. war aber einfach viel zu schlecht. Versuche mit selbst geätzten und gefrästen Platinen waren irgendwie unbefriedigend.
Irgendwann bin ich dann (viel zu spät) über Videos gestolpert, die davon berichten, wie günstig man mehrschichtige Platinen in China bestellen kann.
Damit fing die Reise an. Der erste Versuch war inspiriert von dem Sequencer, den ich bis dato am besten fand, der Deluge, ein Grid-Sequencer auf Basis von Neotrellis Platinen.
Den ersten Prototypen mit echten Platinen hatte ich Anfang 2022 auf dem Tisch. Zuerst ein ILI9341 display, dann mit 128x64px OLED. Angetrieben von einem Teensy 4.1 Board, ein Raspberry PI Pico hat sich um die Encoder und Buttons gekümmert, 4 MIDI Out + 4xUsb Device
![seq01.jpg seq01.jpg](https://www.sequencer.de/synthesizer/data/attachments/158/158998-7fdd1ee19272ef0cfa092480a6bc472e.jpg)
Endlich musste ich nicht mehr mit 1000 Kabeln auf nem Breadboard, Wackelkontakten an den Encodern und fehlenden Knöpfen leben. Mit der Zeit hab ich aber ein paar Dinge festgestellt:
Der Raspberry Pi Pico ist zwar angenehm günstig, die Qualität des C/C++ SDK und grundsätzlich der Entwicklungsumgebung was furchtbar.
Mir fehlte eine Repräsentation, wo man gerade ist (aka LEDs an den Buttons)
Die Neotrellis knöpfe waren unglaublich wabbelig und irgendwie nicht so responsive, wie ich es gerne gehabt hätte. Keine Ahnung, ob es an dem langen Weg, bis sie reagieren liegt, oder meiner Implementation.
Da ich eh schon mit dem Seq4+ geliebäugelt hab und ja auch auf der Cirklon Warteliste stand, hab ich also parallel an einer neuen Hardware Iteration gearbeitet. Wie man unschwer erkennen kann, hab ich mich sehr stark vom Cirklon inspirieren lassen. Die beiden Encoder Links und Rechts zur Navigation und die beiden Analogen Potentiometer rechts oben wollte ich auch unbedingt haben. Letztendlich hab ich aber noch eine Reihe mehr Buttons dazu gepackt, um mehr Sachen im direkten Zugriff zu haben.
Da die erste Platine relativ teuer, weil sehr groß war, und bei einer Mindestabnahme von 5 Stück ja dann 4 ungenutzt rumlagen, hab ich die neue Hardware inspiriert durch das Seq V4 Projekt modularer aufgebaut. Ich hab die Platinen so aufgeteilt, dass die Encoder und Buttons unten in 4er Gruppen aufgeteilt waren, damit hab ich schonmal 4 von 5 Platinen genutzt, obwohl sie unterschiedlich aussehen, nutzen die beiden Seiten die gleiche, wie auch die beiden oberen Blöcke. Alles wird via Flachbandkabel auf einer IO Platine gesammelt, dort durch unterschiedliche ICs vorbereitet und an das Logic-Board geschickt, wo sich der Teensy, Stütztbatterie, USB gedöhns und so befindet.
Das Ergebnis war schon mal geil, aber intern ein unendlich frustrierender Kabelsalat:
![seq02.jpg seq02.jpg](https://www.sequencer.de/synthesizer/data/attachments/158/158999-2b1a4ca7424245bbc8daba49fc914cf5.jpg)
Ich hab leider keine Fotos vom Innenleben gemacht. Mittlerweile hab ich die Platinen alle verwertet, in dem ich alle Bauteile abgetötet habe für spätere Experimente.
Auf dieser Kiste hab ich dann sehr viel Firmware gebaut sowie etliche Experimente mit unterschiedlichen Displays gemacht. Zwischenzeitlich hab ich die Firmware sogar auf einen Raspberry Pi portiert um mehr Möglichkeiten auf grafischer Seite zu haben:
![seq2.5.jpg seq2.5.jpg](https://www.sequencer.de/synthesizer/data/attachments/159/159000-5657fafc2e4a47911d87f6ce0e1415ff.jpg)
Hier konnte ich vieles wiederverwenden, muss halt nur das Rendern der Oberfläche sowie die Midi implementation über ALSA bauen. Vom UI war das großartig. Multithreading hat mich das komplette UI animieren lassen, mit Farben konnte man viel mehr viel deutlicher präsentieren, und die Auflösung von 800x400 war halt viel angenehmer als 128x64.
Wenn da nicht der Unterschied zwischen den Plattformen sind. Auf einem Teensy läuft wie auf einem Arduino kein Betriebsystem. Da läuft die eigene Firmware, und wenn man einen Timer einstellt, der nach x micosekunden triggers soll, dann passiert das genau wie gewollt. Auf einem Computer, wie der Raspberry Pi einer ist, läuft da ein Betriebsystem (in dem Fall Linux), dass dafür zuständig ist, all die parallel laufenden Prozesse unter einen Hut zu bekommen. Da sitzt also irgendwo ein Stück code, der entscheidet, wann welcher Prozess wie viel CPU zur Verfügung gestellt bekommt. Das führt zu Latenzen im Audio und Midi Bereich (Darum wurde vor vielen vielen Jahren mal das Asio4all Projekt ins Leben gerufen, weil Windows wirklich ALLES über Audio priorisiert hatte). Ich konnte da an vielen Schrauben stellen, aber am Ende musste ich entscheiden, wo ich weiter machen wollte, und hab mich für die wirklich wirklich tighte implementation auf dem Teensy entschieden. Letztendlich ist das mit ner MPC zu vergleichen. Natürlich funktioniert eine moderne MPC gut, und in den aller meisten Fällen merkt man nichts, aber eine alte MPC ist halt deutlich tighter...
Da mir all die Probleme, die mit dem Kabelsalat einher gingen, und das dadurch viel zu große Device irgendwie dauerhaft begleitet haben, hab ich dann Ende 2022 eine neue Platine designed. Alles (Bis auf MIDI Outs) auf einer Platine, Abstände zwischen den Buttons etwas kleiner, angepasst auf das mittlerweile eingesetzte 256x64px Display usw:
Auch wenn ich bereits jetzt schon wieder an einer zweiten Version dieser Platine Arbeite (LEDs wieder nach unten, 3 weitere LEDs an den 3 Encodern, besseres Filtern der Potentiometer, dickere Leitungen zu den USB Ports usw), zeigt schon die Geschwindigkeit, wie ich dran arbeite, dass es nur noch ein nice-to-have und keine dringende Notwendigkeit ist...
Ein paar technische Fakten:
Sequencer läuft bei 192ppqn.
16 Tracks (wegen der 16 Buttons. Sollte ich bedarf haben, ist das easy erweiterbar und nur durch den verfügbaren RAM (16MB) eingeschränkt).
Pro Track 16 Patterns (wie bei Tracks, theoretisch erweiterbar)
Ein Pattern besteht aus bis zu 32 Bars mit je 1-16 Steps. Jede Bar hat einen Widerholungswert. Damit kann ich z.B. (1xBar1, 4xBar2, 3xBar3) spielen. Das hab ich mir beim Cirklon abgeguckt.
Es gibt mehrere Track/Pattern typen: Mono, Poly, Drum, Generative. Alle Tracks haben eine 16 Voice Polyphonie. Jede Voice ist komplett eigenständig. Jede der 16 Drumspuren hat eine individuelle Länge (wenn gleich das noch ein wenig im Zusammenspiel mit den Bars kränkelt, weil ich da den Playhear zurücksetzen muss). Jede Note auf einer Poly-Spur ist komplett eigenständig. Jedes Pattern hat eigene Programm-Change Informationen, eine eigene Play-Direction sowie eine eigene "Auflösung", also wie lang ist ein Step, von 1/32-1/1
Pro Step hat jede Voice: Notenwert, Velocity, Länge, Offset (24 substeps), Probability, Ratchets. Im Mono und Drum Track hat jeder Step dazu pro Note noch 4 Werte die "Parameterlocked" werden können.
Mono-Tracks haben dazu etwas, was ein wenig von den Aux-Channels vom Cirklon inspiriert ist. am Besten nutz ich davon den Chord-Modifier, bei dem ich aus einer Liste von 27 Chord-Intervallen auswählen und mit einem 2ten Modifier die Inversion bestimmen kann.
Pro Pattern gibt es 8 Modulation Lanes. Die können entweder LFO (Random, Sine, Triangle, Square, Saw, Inverted Saw) sein, oder vom Typ "Graph". Jede LFO hat eine eigene Frequenz, die Unabhängig von der Länge des Patterns ist. Es ist konfigurierbar, ob ein LFO, der beim Patternwechsel auf einen LFO stößt, der genauso eingestellt ist, einfach weiterläuft oder redetet. Der Graph ist so etwas, wie die Modulation Lane in einer DAW. Man kann in einer Auflösung von 192 schritten pro Bar beliebig viele Punkte setzen, und somit "Pixelgenaues" Modulation machen. Die Länge dieser Modulationsform ist beschränkt auf 64 Bars. (Dies ist einer der Kernpunkte, die mir bei Sequenzen fehlen).
Dazu gibt es noch einen Haufen Generative Features (Euclidean Generator für Drumtracks, diverse Möglichkeiten Melodien zu generieren etc.)
Derzeit hab ich 4 MIDI In und 4 MIDI out (DIN), 4 MIDI In und 4 MIDI Out über USB an den Computer (USB Device) sowie einen USB Host Port, der USB Hub fähig ist, an den ich derzeit bis zu 4 Geräte anschließen kann, die jeweils bis zu 16 In und Out haben können. Wie gut das Funktioniert kann ich aber nicht sagen. Ich hab da einen Blokas Midihub angeschlossen, um 4 weitere DIN Buchsen zu haben.
Technisch gibt es einen Haken. Wenn ich auf Play drücke, wird der erste MIDI event erst einen MIDI-Pulse später rausgeschickt. Ich habe also eine Latenz von 192tel Viertelnote beim Drücken auf Start. Grund dafür ist, dass ich pro Pulse immer die Daten für den nächsten Pulse berechne. Dadurch ist es in einem gewissen Rahmen irrelevant, wie lange das Berechnen von Propabillites und Modulation dauert, am Start eines Pulses werden alle MIDI Events so schnell es CPU und MIDI erlauben rausgeschickt. Messungen haben ergeben, dass das nicht wirklich relevant ist. Ich habe einen Test aufgebaut, der einen Pulse ausgibt, und ich eine Taste als Reaktion auf den Pulse drücken muss (4tel bei 120bpm). Ich drücke, selbst wenn ich mich anstrenge, deutlich unregelmässiger auf den Knopf, als die Latenz durch dieses Features ist.
Anbei eine Reihe Bilder unterschiedlicher Screens. Irgendwie bin ich nicht in der Lage, das Gerät sinnvoll in einem Video vorzustellen
![Sad :sad: :sad:](/synthesizer/styles/oldsmilies/icon_sad.gif)
Auch wenn man viel auf dem Screen sieht, bedient wird das ganze vor allem durch die Encoder und Buttons in der Mitte. Selten mal mit dem Hauptencoder oder in Menüs.
Interessant zu erwähnen wär vielleicht auch noch, dass das Speichern und Laden von Projekten funktioniert während der Sequencer läuft. Das ist ja scheinbar nicht überall so.
Project Screen:
![Groß (IMG_5374).jpeg Groß (IMG_5374).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159015-f4c59ed62254e266ebcc4068f23e772a.jpg)
Track Screen
![Groß (IMG_5367).jpeg Groß (IMG_5367).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159022-6845170ccdfed1a8160731a2a6445858.jpg)
Mono Pattern
![Groß (IMG_5368).jpeg Groß (IMG_5368).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159021-e5e9174de6414a5602a2a2c8d629444d.jpg)
![Groß (IMG_5369).jpeg Groß (IMG_5369).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159020-dabf499a0ac7adf797e4d22d61e9c429.jpg)
Generieren von Noten für ein Mono Patterns
![Groß (IMG_5377).jpeg Groß (IMG_5377).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159012-0410c9e2fb13d9540c8e448dc50dc246.jpg)
Drum Pattern
![Groß (IMG_5371).jpeg Groß (IMG_5371).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159018-61f6924c8141f64f4d52e3cc935b0375.jpg)
Eine einfach erweiterbare Menu Struktur zur Configuration
![Groß (IMG_5379).jpeg Groß (IMG_5379).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159011-631917057896d61b952e673ac633a903.jpg)
Bearbeiten von Instrument-Definitionen
![Groß (IMG_5375).jpeg Groß (IMG_5375).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159014-62f921b79fee43d56ffb905bcca98b74.jpg)
![Groß (IMG_5370).jpeg Groß (IMG_5370).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159019-6e4508b81b679f637474162532d3531a.jpg)
Der alte, Elektron inspirierte Songmode
![Groß (IMG_5376).jpeg Groß (IMG_5376).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159013-78a602852dfe5f34a6b9dbcada42d0cf.jpg)
Diverse "Overlays" für Menüs und Feedback gibt es natürlich auch.
![Groß (IMG_5383).jpeg Groß (IMG_5383).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159009-d07209651ee93e500f9b7ee53e22f9a5.jpg)
![Groß (IMG_5380).jpeg Groß (IMG_5380).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159010-1eca44a7b459ac2b697955e4bc22591d.jpg)
![Groß (IMG_5384).jpeg Groß (IMG_5384).jpeg](https://www.sequencer.de/synthesizer/data/attachments/159/159008-38e020c385b289b22e5d1b96a89626e1.jpg)
Zuletzt bearbeitet: