Re: [linux-audio-dev] XAP: Pitch control

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] XAP: Pitch control
From: David Olofson (david_AT_olofson.net)
Date: Wed Dec 11 2002 - 19:01:54 EET


On Wednesday 11 December 2002 17.17, Steve Harris wrote:
> On Wed, Dec 11, 2002 at 04:25:56 +0100, David Olofson wrote:
> > > (1/12)/note makes more sense because theres /is/ someting very
> > > 12ey about 12tET notes (the clues in the name ;), whereas there
> > > is nothing 12ey about octaves. At all.
> >
> > There is nothing 12ey *at all* about notes if you're into 16t...
> >
> > So, 1.0/note makes sense, (1/12)/note does *not*. :-)
>
> Well I was only talking about 12tET, if youre working in 16tET then
> its 1/16. If your working in a non ET scale then its non trivial,
> but we know that.

It's always <whatever>/note, and it's always trivial. The non-trivial
stuff goes on in the scale converter plugin.

MIDI pitch is always MIDI pitch, which is 1/note. This is the same
thing, only you can say

        note pitch 0.5

instead of

        pitch bend range +/-2; pitch bend 2048; note pitch 60

and do that independently for each note without going Universal SysEx
or one note/channel.

You don't change the value of "1" in the MIDI protocol when using a
MIDI scale converter. You don't change the value of 1.0 when using a
scale converter plugin.

> Your piano argument is not really a problem as its the piano
> mechaism that generates the off-notes, that would be done at the
> midi->pitch stage, sureley?

That *is* the scale converter, if you're dealing with a "primitive"
sampler that cannot implement this properly. But indeed, you may do
it directly in the sampler as well. (And IMHO, that's the way you
*should* do it, since, as I suggested, the need for this tuning is
directly related to the sound of the instrument.)

> By the time it reaches the oscilators
> its allready been shifted.
>
> Maye I'm thinking at a different scope to you, but I view things
> like big complex sequencers as working outside this API, for ont
> thing it will have the same GUI issues as LADSPA.

A sequencer is just something that records and plays back events. A
kind of event processor. You may integrate it with your host, or you
may use some sequencer plugin that comes with the SDK, or whatever.
The API shouldn't rule any of this out, or it will rule out a number
of interesting plugins, such as phrase sequencers and virtual analog
sequencers.

The GUI is another issue - which indeed, is something we have to
consider for all plugins, if we're going anywhere with this API. The
way I see it, the Control interface should be a sufficient plugin/GUI
interface, so that all we need is a standard way of connecting
controls to the external, non-RT applications that GUIs will normally
be. Whatever comes in should go throgh the host's "preset database",
so that the host knows the current value of every control at all
times.

I'm thinking in terms of GUI == non-RT plugin, or rather client to
the event system. That is, inside a XAP host, you would see GUI as an
ordinary plugin in the net. Although it's not really physically in
there; what you see is a gateway plugin that interfaces with the
non-RT GUI plugin outside.

//David Olofson - Programmer, Composer, Open Source Advocate

.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`---------------------------> http://olofson.net/audiality -'
.- M A I A -------------------------------------------------.
| The Multimedia Application Integration Architecture |
`----------------------------> http://www.linuxdj.com/maia -'
   --- http://olofson.net --- http://www.reologica.se ---


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Dec 11 2002 - 19:10:05 EET