[linux-audio-dev] XAP Time/Transport - varispeed/shuttle

Frank van de Pol fvdpol at home.nl
Thu Dec 19 11:55:00 UTC 2002


On Thu, Dec 19, 2002 at 02:41:47PM +0100, David Olofson wrote:
> On Thursday 19 December 2002 04.33, Tim Hockin wrote:
> > > The net result is that if tempo is 120 BPM and SPEED is 2.0, you
> > > get fast forward at 240 BPM.
> > >
> > > Of course, you may run backwards and stuff that way as well, but
> > > don't expect the synths to play sounds backwards... ;-)
> >
> > Sounds sane - and that implies negative tempo?
> 
> Yes.
> 

True, the effective tempo is negative, but think the SPEED control should be
decoupled.

- the SPEED control also affects the effective sample rate (not the rate in
  the processing graph, but the rate at which the audio material is played).
  Depending on the plugin it can decide how to implement it, eg. resampling,
  pitch shifting, adjustment of LFO/envelope etc.

- tempo is indeed influenced, to keep the model consitent with the sample stream
  and parameter values (for which only the plugin know what to do with in case
  of a change of SPEED, eg. LFO)

- for plugins or hosts that do not support the SPEED, the repositioning
  events are still usefull without the additional hinting from the SPEED
  control. The SPEED only allows the plugins to generate usefull noise in
  case the user starts fiddling with it.

- essential is that the relation between media time and musical time is not
  changed! The whole perception of time is influenced.

A nice real-life example of use for this SPEED control is the pitch control
function as seen on CD decks and turntables. The DJ uses this control to
manualy obtain and maintain beat sync between sources. Modern CD decks
perform the SPEED changes without influencing the pitch of the song. 

When running a MIDI sequencer or drum machine in beat sync with a record,
the dj (actually a gear jockey :-) simply fiddles with the tempo control to
keep every thing grooving. The SPEED control I proposed would provide the
additional abstraction layer to allow the plugins to be smart enough to keep
the sample and event streams running smoothly together.

I have no clue how this would be beneficial to classical or indian style of
music ;-)

> 
> > It's scary, but I
> > guess correct...  Do we really want to deal with playing during
> > shuttles?
> 
> Yes, I think so. If?you've done some sequencing of music with long 
> notes (strings and stuff), I think you know how frustrating it can be 
> to play 6 bars just to hear if you got that edited note right... :-)
> 
> If you can just FFWD with playback to the place you're interested in, 
> samples and stuff may be out of sync, but at least, all the notes 
> will be there. (And the beat sync effects will be in sync, BTW. :-)
> 

a plugin _could_ be in sync (of course depends on the plugin). 

Think of Sonic Foundry ACID. That is a in fact a sequencer which plays
samples (looped or not), and performs real-time timestreching/pitch
adjustment. The XAP API should certainly support a plugin with similar
capabilities as ACID's playback/resampling engine.



> 
> > The sequencer needs to send reversed ON/OFF events, but
> > that's no big deal..
> 
> Yeah, that's what a MIDI sequencer has to do as well, if it supports 
> backwards playback at all. (Only seen "retrograde" edit functions so 
> far; never real time reverse playback.)
> 
> I'm not sure it should at all times, though. Some synths might 
> actually want to understand reverse playback - but then again, there 
> would still be missing information. (Note duration, history of pitch 
> control, etc...)
> 
> 
> //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 -'
>    --- http://olofson.net --- http://www.reologica.se ---

-- 
+---- --- -- -  -   -    - 
| Frank van de Pol                  -o)    A-L-S-A
| FvdPol at home.nl                    /\\  Sounds good!
| http://www.alsa-project.org      _\_v
| Linux - Why use Windows if we have doors available?



More information about the Linux-audio-dev mailing list