React to a drum machine

This is a total noob question:
I have seen this guy on Instagram, Pauric_Freeman.

I know he uses touchdesigner, but looking at his performance, I was curious :
How a specific analog sound, straight out of a beat machine, can trigger a specific effect?
Let’s say, every hihat sound triggers a specific video effect, lets say, appearing words?
And all this in vvvv?
I mean, if it was out of Ableton live, I could imagine it’s doable, but from a eurorack from example?

I am not a musician at all, so I am technically interested, and I would like to know how it should be done in vvvv

One of the nice things about vvvv is that you can basically connect anything to anything. So in this case you could use Midi (like Pauric Freeman seems to) or any other protocol to listen to events from your music hardware while also doing some analysis of incoming (multichannel-) audio.

Ok, so it’s the midi that gives the “bang” for the signals then?

That would be most likely. He could also have an audio interface with DC-coupled inputs to receive bangs from the modular synth via CV.

Errrrrr, I don’t know what is “an audio interface with DC-coupled inputs”… What does it looks like?
But when there is a granular sound, does midi send that too? Or even a long sound, how is it possible to catch the intensity and the duration of the sound?

@sfphynx I suppose it depends on the type of the granular synth, occasionally each grain on granular synth may be perceived as a different midi trigger or lets say event (like this one I quickly found on the internets via reddit emergence), which claims that it supports up to 600 grains per instance.

Another option could be to use a tool as Reactor NI where you have absolute control or generally build your custom synth and expose all the parameters the way you like.

PS: I don’t think that in this occasion CV would be sufficient to get all this info so I can’t tell if this method would imply on Analog synths in general.

You can use Midi of course or you use FFT and have the actual audio trigger things. There is also something called “Beat Detector” in vvvv, which is just an FFT already set up to detect beats in various frequency bands. It works really well.

For things like CV from synths, there are CV to Midi converters.

Once you have the signals in vvvv there are endless possibilities to trigger anything visual.

Ok, I vaguely understand
Correct me if I am wrong:

The trigger froma MIDI key, which is a temporary bang, or rapid I/O switch, can be detected
Basic beats can be calculated with vvvv

What about the length of a note! Is it possible to detect each note’s length and intensity for example?
A piano note on one midi key, fading in a 1/2 note and a bass note on another midi key fading in a 1/4 note can be detected?

Sorry, silly question: what’s the difference between CV and MIDI? How CV is transported? USB? What is packed in a single CV signal?

I don’t have many instruments laying around in my house. I just have a volca beats and a launchpad, but I am interested in a dawless/eurorack setup for an art project. Therefore I would like to know the technical side of it before initial investment

Sure, you can receive any midi note data as well and do what you like with it.

Not sure what you mean with “fading in”, but I would say that most likely the answer is yes as well. vvvv is a completely open programming tool - basically just a visual (and therefore much easier to follow) representation of C#. So there isn’t really a limit on what you can do and it’s not really a question of whether vvvv can do it or not. Unless there is a technical or logical limitation to what you are trying to do I don’t see why it wouldn’t be possible.

Okay, that is really starting at the beginning. CV (control voltage) is just that. It is a voltage, so it’s completely analog and when you build any eurorack sort of setup, then you will use this a lot. Since a computer can’t directly “use” or read an analog signal it has to be converted first.

Midi is a digital signal and can be transmitted via USB or Midi cables.

I recommend getting familiar with some synthesizers and their basic workings first.

MIDI is digital data, CV is analogue data. Without going into the electronics, you need converters to get the data into the computer. In any case, you will eventually need to transfer this data digitally to the computer, most likely USB, via the COM port. You’ll need a SerialPort node and some handy tools, such as an Arduino or other more convenient microcontroller on a board. There are also nodes in VVVV to work with MIDI controllers, the MIDI protocol is not hard to understand.

What to do if there are no ready-made options? There are an incredible number of tutorials on the internet on how to work with MIDI at the microcontroller level. It’s a bit more difficult to work with CVs, but in most cases a minimal knowledge of electronics is enough. The next thing you need to do is make sure that you can get this data into your computer using a microcontroller. This can be serial data and COM port using your own protocol, or you can register your controller as a MIDI device, even as a HID. Once you have created such a “converter”, you can process this data in code, e.g. with VVVV.

You really have beginner’s questions and will probably figure it all out easily, I have faith in you. Look at the help in VVVV itself - it’s full of really good examples.

I wanted to clear up the muddy waters about CV and MIDI and ended up writing way more than I thought I would, but I think it covers the necessary differences between CV/Gate and MIDI in the context of vvvv and drum machines.

CV

CV has CV values and gates. To make a note, you need the CV to define the pitch of the note and the gate to tell when it is playing.
So CV is an analogue signal between 0 and 10V typically, in programming you can compare it to a float. whereas gate is a binary signal - on or off also typically 0 or 10V.
Both CV and gate are continuous signals that are always on in the sense that you always know if a note is playing or not. this also means that on set of CV and gate can only play one note at a time. Polyphony is more complicated, though with a drum machine, you can have a gate output for each drum sound.

MIDI

Midi is different in that everything is messages.
in one message, you have note value and velocity, this tells the receiving device to begin playing the corresponding note.
To stop the note from playing, you need to send a note off message, which is technically the same as a note on message, only with velocity set to 0.
This also mean that there is a risk of “hanging” notes which are notes that receive note on, but somehow note off got lost.
Controllers works the same way.
Besides note numbers, there are also channels, 16 of them, each capable of 127 notes and 127 controllers.
This construction is in order to not overload the serial bus that MIDI essentially is. in music, timing is really important, so it is vital to have quick response, but at the same time there are many different musical events that all need good timing. many events at the same time is rare
Be aware that midi is a serial protocol that in the original specs are running 31,250b/s.

Envelopes

Since both midi and CV+Gate only provide a note and a velocity, the drum machine/synth typically use an envelope to control how the sound behaves over time.
The typical envelope parameters are:

ADSR

  • Attack - how fast the sound opens.
  • Decay - How fast it returns to the sustain level
  • Sustain - The level it settles on, while the note is held
  • Release - how long it takes for the sound to ring out after you release the note.

To make fast transient sounds, you need a fast attack of relatively few milliseconds to make slow swelling sounds, you need slow attack to gradually introduce the sound, that typically goes well with a slow release.
ADSR is typically parameters that are set on the device itself. Sometimes only some of the parameters are exposed.

Drum machines and MIDI

Different drum machines behaves differently.
But most commonly, they respond to channel 10 (9 if you count from 0 like vvvv).
They only respond to note on messages, as that is all that is needed to trigger a drum sound and that is what they send, which mean that depending on the model, you don’t know how long a note is held.
quite often the duration of the note can be adjusted on the drum machine with an envelope.

Detecting note length

To answer you question, you have the note length baked into the duration that the note is on.

I have a meeting soon.
If remember, I can add details on how gamma handles notes and controllers and clock and tempo
You can also just type MIDI into the help browser.

For reference, the midi specs are here https://www.cs.cmu.edu/~music/cmsip/readings/Standard-MIDI-file-format-updated.pdf

Sune

3 Likes

Woahhhh, thank you guys.

What if I trigger through a MIDI (USB) launchpads, triggering the sound in Ableton?
Would it be easier to implement the reactions I need in vvvv? would it be easier to get each sounds informations (velocity, duration etc) ?

I need a device in my hands to start playing it with vvvv, but I don’t want to make a wrong purchase in terms of device. It is not like i have millions in my pocket…!!

You can’t go wrong with a midi device. If it works in Ableton, 99.9% it will work in vvvv as well. Which device does what you want is up to you, there are literally thousands of options to chose from in every price range. As long as it supports Midi, you should be fine.

If you let us know what you want from your midi input device, we might have some suggestions.

Like mentioned Midi is a really simple protocol to get started with.

1 Like