OnTopic VMC System - MIDI-Eurorack-Module auf Arduino-Basis - SQ-3P, ChordTrigger,...

Max
Max
||||||||
ah, ok... in dem Fall könnte es evtl. auch helfen im mainloop den Buffer öfter zu lesen...

also like this:


midi.read();

display.ausgabe();

midi.read();

irgendwasrechnen...

midi.read();

button1.read();

...
 
fanwander
fanwander
*****
Mach ich eh.
Das Problem tritt wirklich nur bei BufferOverrun wg MIDI-Loop auf.
 
Max
Max
||||||||
ok, dann musst du wohl das Interrupt-Fass aufmachen...

(aber es wundert mich schon etwas was da in deinem Code so lang laufen kann - zwischen zwei MIDI-Befehlen vergeht im Vergleich zur Prozessorgeschwindigkeit eine sehr sehr lange Zeit und allzu komplexe Berechnungen sind für die Anwendung sicher auch nicht nötig)

EDIT: tippe aber stark auf das Display... evtl. nicht so oft und nicht "am Stück" updaten
 
Zuletzt bearbeitet:
fanwander
fanwander
*****
Es gibt zwei Sachen:
1.) ich habe (noch) eine floating-point operation bei der Tempoberechnung für die interne Clock drin. Der Atmeg328 hat aber soweit ich weiß keine Floatingpoint-Unit drin. Also muss er den Kram mühsam "zu Fuß" rechnen.
2.) Ja das dürfte das Display sein. Das Display ist aber so ziemlich Kern der ganzen Applikation mit der Darstellung der verschiedenen Step-Arten. Beim SQ-3P ists ja noch harmlos. Aber beim chordTrigger und bei einem kommenden SQ-4m (vier Mono-Sequenzen mit separaten Sequenzlängen und separatem Einstarten) wird die echtzeitnahe Display-Darstellung komplett essentiell.
 
  • Daumen hoch
Reaktionen: Max
Max
Max
||||||||
ok dann noch viel Erfolg...

die float-Geschichte ist es eher nicht würde ich sagen, ist zwar wirklich nicht auf dem Chip implementiert soweit ich weiß, aber trotzdem kann ich es mir nicht vorstellen dass dir das hier das Genick bricht

wenn du das Display-Update in sagen wir vier Schritten machst mit jeweils einem Serial-Read dazwischen wäre das aus User-Sicht aber immer noch wie realtime würde ich sagen

mit Interrupts wird's halt leider sehr schnell sehr hässlich
 
citric acid
citric acid
||||||||||
Kann mann nicht eine Display abschaltung programmieren? und zb das dann einschalten bei stop und mit einer tastencombo aktivieren / deaktivieren ?
 
fanwander
fanwander
*****
Kann man natürlich alles. Aber das ist letztlich nicht das Problem. Das Problem ist tatsächlich der kontinuierliche BufferOverrun im Fall eines MIDI-Loops. Das hat schon ganz andere Geräte zum Komplettaufhängen gebracht.
 
Green Dino
Green Dino
X---X---X---X
So, das Wetter wird wärmer, ich kann langsam auf den Balkon und löten.
Dann soll der VMC noch ein schönen kleines Holzgehäuse kriegen, wobei schön wirds vielleicht nicht unbedingt...

Bin schon dolle gespannt und noch mal ein dickes Dankeschön an Fanwander. ;-)

Gibt es eigentlich einen für den VMC1 relevanten Unterschied zwischen den Arduino Nano Revisionen? Aktuell wird wohl v3 verkauft, ich hab aber noch einen alten rumfliegen...
 
Zuletzt bearbeitet:
fanwander
fanwander
*****
Gibt es eigentlich einen für den VMC1 relevanten Unterschied zwischen den Arduino Nano Revisionen? Aktuell wird wohl v3 verkauft, ich hab aber noch einen alten rumfliegen...
Auf jeden Fall der unterschiedliche USB-Interface Chip; der ist aber auch schon in der Programmier-Anleitung erwähnt. Sonst ist mir noch nichts aufgefallen. Ich hab aber nur einen 1er Clone, 3er Originale und 3er Clones probiert.

Ich hab durch Zufall heute einen Arduino Nano Every ausprobiert (also die neueste Version mit mehr ProzessorPower und RAM), und da funktioniert - warum auch immer - die Änderung von per Poti eingegebenen Werten nicht. Die Potis selbst werden aber durchaus korrekt abgefragt. Was da los ist ist mir noch nicht ganz klar.
 
fanwander
fanwander
*****
Der @fanwander SQ3P in freier Wildbahn (beim Happy Knobbing).
Echt klasse!
Freut mich. Hoffentlich heute abend gibts noch eine Version 1.13 bei der man die Center-Taste für die Transponierung wählen kann.

SQ-4M wird immer krasser (vier Tracks, jeweils unterschiedliche Länge, unterschiedliche Clockteiler, ein Track kann einen anderen transponieren und die Velocity kommt wieder von einem anderen Track, sehr spannend...), ist aber noch nicht vorführfähig
 
fanwander
fanwander
*****
Jetzt NEU!!11elf:

https://www.florian-anwander.de/sq-4m/

SQ-4m
Sequencer mit vier mono Spuren, unabhängig lang, unabhängige Clock-Ratio.
Noch eine Beta-Version, macht aber schon sehr großen Spaß!


Version 0.15 0.16 ist released:

Der Sequencer kann jetzt auch MIDI CC-messages senden - was sehr großer Spaß ist, eine oder zwei Noten-Tracks und dazu der Rest CC-Tracks.

Man kann übrigens die Step-Länge und/oder Track-Anzahl ändern. Zwar nur im Source code, aber es ist sehr einfach und ist im Manual beschrieben. Die maximale Anzahl an zu speichernden Schritten darf 256 nicht überschreiten, aber mit 16 Tracks zu 16 Steps kommt man schon verdammt weit. (der Default ist im moment noch aus Kompatibilitätsgründen bei 4 Tracks).
EDIT1: Das mit der Änderung der Track/Step-Anzahl muss ich leider korrigieren - da passt nicht mit dem momentanen Aufbau des Factory-Reset zusammen. Aber das werde ich noch vor der Codegrößen-Optimierung angehen, weil es wirklich super ist, viele Spuren zu haben.


EDIT2: Das mit dem Factory-Reset ist hoffentlich gefixt. Ich hab jetzt die Spuranzahl auf 14 erhöht.


Leider bin ich jetzt mit der Code-Länge an der Grenze des Arduino angelangt. Bevor ich weiteres Features hinzunehmen kann, muss ich erst mal den Code stringenter gestalten.
 
Zuletzt bearbeitet:
fanwander
fanwander
*****
Anhang anzeigen sq-4m_dubessey.mp3
Mal ein kleines Beispiel, was so mit dem SQ-4M geht:

Eingespielt sind 13 Spuren die genau einen Step lang sind mit jeweils nur einem einzigen Ton: A3,C4,E4,F4,A4,C5,E5,F5,A5,C6,E6,F6,A6.
Der Witz ist, dass jede Spur mit einem anderen Clockteiler vom eingehenden Clock getriggert wird, und zwar genau entsprechend der Spurnummer. Also Spur 1 spielt auf jedes Clocktick, Spur2 und jedes zweite, Spur3 auf jedes dritte, und so weiter. Beim Start sind alle Spuren gemutete, und nach und nach ent-mute ich die Spuren (beginnend mit dem C4). Zum Schluss kommt noch eine 14 Spur dazu die einen oktavierenden Bass spielt, ein F2 und F3 auf den Steps 1 und 7 spielt. Zum Schluss hin mute ich immer mehr Spuren.
Das ganze wird dann einfach ab und zu hoch oder runter transponiert. Die Velocity ist Random gesteuert und wird in der Mitte angehoben.

EDIT: das angehängte STE-005.mp3 ist das gleiche Pattern ohne Clockteiler und ohne Random Velocity.
 

Anhänge

  • STE-005.mp3
    548 KB
Zuletzt bearbeitet:
Die Iden des Maerz
Die Iden des Maerz
||||||||||
Anhang anzeigen 143925
Mal ein kleines Beispiel, was so mit dem SQ-4M geht:

Eingespielt sind 13 Spuren die genau einen Step lang sind mit jeweils nur einem einzigen Ton: A3,C4,E4,F4,A4,C5,E5,F5,A5,C6,E6,F6,A6.
Der Witz ist, dass jede Spur mit einem anderen Clockteiler vom eingehenden Clock geteilt wird, und zwar genau entsprechend der Spurnummer. Also Spur 1 spielt auf jedes Clocktick, Spur2 und jedes zweite, Spur3 auf jedes dritte, und so weiter. Beim Start sind alle Spuren gemutete, und nach und nach ent-mute ich die Spuren (beginnend mit dem C4). Zum Schluss kommt noch eine 14 Spur dazu die einen oktavierenden Bass spielt, ein F2 und F3 auf den Steps 1 und 7 spielt. Zum Schluss hin mute ich immer mehr Spuren.
Das ganze wird dann einfach ab und zu hoch oder runter transponiert. Die Velocity ist Random gesteuert und wird in der Mitte angehoben.

EDIT: das angehängte STE-005.mp3 ist das gleiche Pattern ohne Clockteiler und ohne Random Velocity.
Ist das Piano aus nem Roland Rompler?
 

Similar threads

 


Neueste Beiträge

News

Oben