octal-dev
[Top][All Lists]
Advanced

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

Re[2]: sampler


From: ccastiglione
Subject: Re[2]: sampler
Date: Tue Mar 13 14:15:05 2001

____________________Reply Separator____________________
Subject:    Re: sampler
>> I don't think the idea of "instrument as machine" makes sense to me 
>> though.

>Yes, the wavetable would be a global resource for machines to use as
>they please.  As I was thinking of it, an 'Instrument'
>(ImpulseTracker-style instrument) would simply be one of those machines.

Hmmm -- I guess I was thinking of "instrument" as a combination of waveform data
and whatever other global resources are available for use with it.  Naturally
how these things are used depends on the machine.  That's why I mentioned the
context-sensitive envelopes in Buzz.  It's a nice combination, though it's a
little confusing to figure out at first.

The decision of which attributes should properly be made global and which are
too specific to bother centralizing is a pretty big design issue.  I'd say that
waveform data, loop points, and base pitch are no-brainers.  

I think there's also a good argument to be made for multi-sample mapping and
envelopes as global data.  Multi-sample mapping ties neatly into the MIDI
implementation too, especially when it comes to drum kits.  So these things,
which are global but not strictly waveform related, seem like "instrument"
attributes to me, where "instrument" is a layer on top of waveform that can
either be used (in "instrument mode" a la Impulse) or ignored (in "wave mode").

[env explanation snipped]
>I haven't really used Buzz, but that's an interesting method.  So
>envelopes are basically globally accessible like the wavetable?

The envelope data itself seems to be globally accessible, yes.  So individual
machine authors don't have to implement their own envelope management functions,
I suppose.  But the semantics of how the envelope data is used completely
depends on which machines are available, and how many "envelope-able" attributes
each machine has.  I imagine the individual machines have to inform the main
program of what these attributes are at init time for this to work.

chris/hex/<uku>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]