[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-users] new list member - with a ribbon controller



Dear SC Users,

Let me introduce myself briefly: I am a physicist working in biophysics with some programming skills (Fortran, C and some Perl). My hobby is music and audio engineering. I am also interested in acoustics and psychoacousting and I may start a project in my research group on how the human brain processes sound sources (this is only a plan at the moment).

I promise to go through the tutorials and read manuals (I usually do :-)), but for now I would like to hear some comments whether what I plan is possible with SC before I jump into it. Here we go (sorry to be a lengthy):

I have a Doepfer R2M ribbon controller (see http://www.doepfer.de/ home_e.htm ). It outputs control voltages, which can drive analog oscillators. The first control voltage is proportional to the ribbon position (on a linear octave/voltage scale). The second voltage is proportional with the pressure (independent of pitch position).

Lacking analog oscillators, the MIDI side is more interesting at the moment. The box outputs MIDI data too. The first control voltage is converted to NoteOn (with or without pitchbend), just pitchbend (with a fixed note) or controller data of your choice. The second control voltage can be converted to +- pitchbend or controller data. I tried to drive MIDI instruments in Live with this. The main problem is that there is no choice to change the pressure to velocity and since the NoteOn is always before pressure all notes play with the default constant velocity of 127. To be able to play somewhat expressively, I mapped the pressure (as controller data) to the volume of the synth. It worked but it is not ideal as velocity is always 127 and the volume change comes after the NoteOn message.

In principle, what I want is that SC behaves as if it was an analog, CV driven synth receiving the VCO and VCA control voltages from the device. What I was thinking is the following:

- Take the NoteOn and the pitchbend
- Collect the subsequent pressure data as long as the pressure increases (or a fixed period of time is reached) or a new note is coming (the minimum re-trigger time is 1 msec on the device) - Calculate the slope of the pressure raise for the initial period it is raising; calculate a velocity value that is proportional to this slope (with some proper scaling) - Generate a NoteOn message with this velocity and proper pitchbed, followed with the pressure values from the first local maximum (for using the pressure for effects like modulation, whatever)
- drive other programs or external MIDI devices with this stream of MIDI
- alternatively drive some SC synths with this data

In this way I could use the pressure to both control velocity and after-touch effects. It will generate some delay because of the integration period for the pressure data, but may still be playable (I have a relatively low latency audio interface - MetricHalo ULN-2).

I guess that a better solution is to buy an analogue CV controlled VCO and some VCA and pitch- and envelope-track it, but I would like to see if the SC approach makes a sense, before investing into more iron.

What routines, ugens and approaches comes to your mind for such a setup.

Thanks in advance for any comments,

--
Tibor