GMU:Dataflow II/Lukas: Difference between revisions

From Medien Wiki
(→‎Starting thoughts: --Heart of the seq)
Line 206: Line 206:


== The heart of the sequencer ==
== The heart of the sequencer ==
The central subpatch is switchblade, containing the main mechanism to save the note values and forward each of them to the midimaker. This is triggered individually by the ticker (so there is only one note played simultaneously), which is generated by the complexcounter.
That complex subpatch counts from 1 to 16, it detemines which of the 16 steps is being played and for how long.
The midimaker simply generates a midi note (with on and off message), the length is determined by the bpmtomsec. The length is calculated in a way, that the notes do not overlap but are as long as possible.
To put it in a nutshell, the whole patch generates MIDI on and off messages with controllable speed and pitch.
== The extras ==
Of course that doesn't make up for a complete sequencer. So I implemented a start and stop button, connected to the complexcounter. If that patch stops counting, the whole sequencer stops playing. A note off will be sent anyway.
=== Paracontrol panel ===
The paracontrol panel allows the user to control the tempo, the cycle length and the note scaling of the main sequencer and the bottom offset and cycle length of the transpose section. These are mapped to the upper row of the UC-33e in the same order as displayed in PD.
=== bottomoffset and rangeselect ===
As it is difficult to get the right note when you have 127 values on a small knob, I implemented a stretching feature. It reduces the range of selectable notes and takes the range to the desired level (otherwise one would be only able to trigger subaural bass notes with this). bottomoffset and rangeselect neatly display the amount of octaves from the bottom, the lowest key and how many octaves wide the stretching should be. As I know from experience, a range from 1-4 octaves is more than enough.
=== patternblade ===
This contains the mechanism for my programmable arpeggiator. It works exactly as described above (5 - Arpeggiator). If the cycle length is set to 1, the main sequence will just repeat as usual.
=== midiio ===
A diagnosis tool, intended to show all incoming CC.
Furthermore, thhe Fader F9 controls the note volume (velocity) globally.
= Working with the sequencer =
It works as desired, but by now only within the computer, using its own wavetable MIDI synthesizer.
== Issues ==
* MIDI communication to other devices doesn't work. During opening, PD moans that "MIDI input is dangerous in Windows". It also means that I cannot plug in the PC's midi output to any of my synths, for whatever reason. The forums did not give me an answer for this.
* Due to these circumstances, I wasn't able to test the transpose-on-note-in feature. It has been removed from the patch.
* The current note cannot be seen, but I don't really need this.
* Programming the steps is a bit fiddly due to the small knobs. That may be solved by using different pot heads.
* During startup, multiple zero division errors pop up. This is caused by the autoscale object, because most of the values need to be stretched to an area starting with zero and as soon as this value is entered into there, an error notification appears. Interestingly, this has no effect on performance or program stability, so I suggest to ignore it.
= What else to implement next? =
* Another blade showing the note value of each step and the current output and the option to mute each step individually. I tried this, but for unknown reasons, PD always crashed, so I decided to stay with the version I had before.
* Getting (several) another UC-33e and make more tracks (but thanks to the MIDI issues of PD, this will be quite likely impossible)
-----
= Appendix =