vbap8move
Prev | Orchestra Opcodes and Operators | Next

## vbap8move

vbap8move — Distributes an audio signal among 8 channels with moving virtual sources.

## Description

Distributes an audio signal among 8 channels with moving virtual sources.

## Syntax

    ar1, ..., ar8 vbap8move asig, idur, ispread, ifldnum, ifld1 \
          [, ifld2] [...]

## Initialization

idur -- the duration over which the movement takes place.

ispread -- spreading of the virtual source (range 0 - 100). If value is zero, conventional amplitude panning is used. When ispread is increased, the number of loudspeakers used in panning increases. If value is 100, the sound is applied to all loudspeakers.

ifldnum -- number of fields (absolute value must be 2 or larger). If ifldnum is positive, the virtual source movement is a polyline specified by given directions. Each transition is performed in an equal time interval. If ifldnum is negative, specified angular velocities are applied to the virtual source during specified relative time intervals (see below).

ifld1, ifld2, ... -- azimuth angles or angular velocities, and relative durations of movement phases (see below).

## Performance

asig -- audio signal to be panned

vbap8move allows the use of moving virtual sources. If ifldnum is positive, the fields represent directions of virtual sources and equal times, iazi1, [iele1,] iazi2, [iele2,], etc. The position of the virtual source is interpolated between directions starting from the first direction and ending at the last. Each interval is interpolated in time that is fraction total_time / number_of_intervals of the duration of the sound event.

If ifldnum is negative, the fields represent angular velocities and equal times. The first field is, however, the starting direction, iazi1, [iele1,] iazi_vel1, [iele_vel1,] iazi_vel2, [iele_vel2,] .... Each velocity is applied to the note that is fraction total_time / number_of_velocities of the duration of the sound event. If the elevation of the virtual source becomes greater than 90 degrees or less than 0 degrees, the polarity of angular velocity is changed. Thus the elevational angular velocity produces a virtual source that moves up and down between 0 and 90 degrees.

| Warning
Please note that all vbap panning opcodes require the vbap system to be initialized using vbaplsinit.

## Example

Here is a simple example of the vbap8move opcode. It uses the file vbap8move.csd.

Example 1163. Example of the vbap8move opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in
    -odac           -iadc    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o vbap4move.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 48000
    ksmps = 10
    nchnls = 8

    ;Example by Hector Centeno 2007

    vbaplsinit    2, 8, 15, 65, 115, 165, 195, 245, 295, 345

        instr 1
    ifldnum = 9
    ispread = 30
    idur = p3

    ;; Generate a sound source
    kenv loopseg 10, 0, 0, 0, 0.5, 1, 10, 0
    a1 pinkish 3000*kenv

    ;; Move circling around once all the speakers
    aout1, aout2, aout3, aout4, aout5, aout6, aout7, aout8 vbap8move a1, idur, ispread, ifldnum, 15, 65, 115, 165, 195, 245, 295, 345, 15

    ;; Speaker mapping
    aFL = aout8 ; Front Left
    aFR = aout1 ; Front Right
    aMFL = aout7 ; Mid Front Left
    aMFR = aout2 ; Mid Front Right
    aMBL = aout6 ; Mid Back Left
    aMBR = aout3 ; Mid Back Right
    aBL = aout5 ; Back Left
    aBR = aout4 ; Back Right

    outo aFL, aFR, aMFL, aMFR, aMBL, aMBR, aBL, aBR

        endin

    </CsInstruments>
    <CsScore>
    i1 0 30
    e
    </CsScore>
    </CsoundSynthesizer>

## Reference

Ville Pulkki: “Virtual Sound Source Positioning Using Vector Base Amplitude Panning” Journal of the Audio Engineering Society, 1997 June, Vol. 45/6, p. 456.

## See also

Panning and Spatialization: Vector Base Amplitude Panning

## Credits

Author: Ville Pulkki
Sibelius Academy Computer Music Studio
Laboratory of Acoustics and Audio Signal Processing
Helsinki University of Technology
Helsinki, Finland
May 2000

New in Csound Version 4.07

Prev | Up | Next
vbap8 | Home | vbaplsinit