| A negative p3 does not only make the note hold indefinitely, it makes it
monophonic - it is the primary mechanism for creating legato
instruments. A zero value also already has a special meaning (see the
manual). Pfields are floating-point, so cannot be 'unsigned' in the way
an integer can.
It is also possible to run simultaneous and independent notes on the
same instrument, something that is only possible under MIDI by using the
sustain pedal, with no control thereafter. More to the point, thanks to
the duration parameter the user has independent control of the life of
each of these notes, something, again, which MIDI does not support. The
classic example of this is additive synthesis using multiple instances
of a single sine-wave instrument.
The negative p3 instantiates a monophonic voice able to support
portamento and amplitude ramping, essential for most legato styles. This
is probably the area in which Csound and MIDI diverge the most. A
'Cquencer' which facilitated the programming of simultaneous independent
legato streams would be formidable indeed.
Portamento, in particular, requires knowledge of the target note. There
is a mechanism in Csound (the 'next-pfield' instruction) which supports
this; it could conceivably have been added to the MIDI spec as another
Channel message had it been deemed important enough, but as MIDI was not
developed to support ~composition~, but merely to enable keyboards to
control each other, it was left out (assuming anyone thought about it at
all!).
I see MIDI as essentially a sort of simple telemetry for keyboard
controls, using wires. It has a grammar, perhaps even syntax, but not
semantics. Choir and string sounds(etc) invariably sound very false
under MIDI, however good the sounds may be in themselves, as there is no
way to program the independent polyphonic voice-leading which is
idiomatic for them. Pitchbend needs to be associated with notes, not
just with Channels.
This is one of the many problems with MIDI - it's grammar is not voice
based, but controller-based. I want to be able to play four voices, each
starting at middle C, and each performing a portamento to a different
pitch. MIDI thinks they are still somehow middle C, but I think they are
four voices which have changed pitch smoothly. The grammar for Csound is
the opposite, even if most people end up writing fixed-pitch notes, most
of the time.
It is all very well adding little tweaks to MIDI here and there, but
this fundamental limitation of MIDI is set to remain, and nothing short
of reinvention (ZIPI?) will obviate it. You are given MONO mode, and
different Channels, and a few instruments have been made which can be
configured as sixteen monophonic voices, but without portamento
messages, and sub-idents for multiple voices on one 'note', the scope
remains very limited.
My though for a Csound sequencer then is something which (somehow) not
only supports the arbitrary pfield system, but also full polyphonic
legato per instrument. With careful design, even this could be handled
in real-time, though almost certainly not via MIDI.
Richard Dobson
Paul Barton-Davis wrote:
>
> In message <001d01bed823$365752a0$79d496c0@Realizer.ngt.sungard.com>you write:
> >The p3 issue is a real one but it is not insuperable. The solution is for
> >realtime score events to have p3 set negative (infinite duration) until a
>
> zero is more desirable, since it allows duration to be represented by
> an unsigned value, and thus have a larger range.
>
--
Test your DAW with my Soundcard Attrition Page!
http://wkweb5.cableinet.co.uk/rwd (LU: 6th July 1999) |