[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-users] new list member - with a ribbon controller
Hi -
Your plan is definitely possible in SC. SuperCollider can talk to MIDI
inputs/outputs and the nice thing (compared against Live) is that
since it's a programming language, it gives you the MIDI events and
you do what you like with them - so it should be very easy to do the
conversions you describe (integrating the pressure data etc). Check
out the "UsingMIDI" helpfile, which should have enough examples for
you to work from.
If you have MIDI already set up with this controller then I'd guess
that's easiest. Alternatively you can communicate with arbitrary
hardware devices using systems like Arduino http://www.arduino.cc/ so
maybe it's possible to get the CVs directly.
Dan
2007/10/20, Tibor Páli <tpali@xxxxxx>:
> 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
>
> _______________________________________________
> sc-users mailing list
> sc-users@xxxxxxxxxxxxxxx
> http://www.create.ucsb.edu/mailman/listinfo/sc-users
>
--
http://www.mcld.co.uk