upsamp — Modify a signal by up-sampling.


Modify a signal by up-sampling.


ares upsamp ksig


upsamp converts a control signal to an audio signal. It does it by simple repetition of the kval. upsamp is a slightly more efficient form of the assignment, asig = ksig.


Here is an example of the upsamp opcode. It uses the file upsamp.csd.

Example 931. Example of the upsamp opcode.

; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o upsamp.wav -W ;;; for file output any platform
;;with code from Steven Cook / David Akbari, Menno Knevel and Joachim Heintz

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

seed      0

  opcode Decimator, a, akk	;UDO Sample rate / Bit depth reducer
         setksmps   1
ain, kbit, ksrate xin

kbits    =        2^kbit                ;bit depth (1 to 16)
kfold    =        (sr/ksrate)           ;sample rate
kin      downsamp ain                   ;convert to kr
kin      =        (kin+0dbfs)           ;add DC to avoid (-)
kin      =        kin*(kbits/(0dbfs*2)) ;scale signal level
kin      =        int(kin)              ;quantise
aout     upsamp   kin                   ;convert to sr
aout     =        aout*(2/kbits)-0dbfs  ;rescale and remove DC
a0ut     fold     aout, kfold           ;resample
         xout     a0ut
instr 1	;avoid playing this too loud

kbit     =        p4
ksr      =        44100
asig     diskin   "fox.wav", 1
aout     Decimator asig, kbit, ksr
         printks  "bitrate = %d, ", 3, kbit
         printks  "with samplerate = %d\\n", 3, ksr
         outs     aout*.7, aout*.7

instr 2	;moving randomly between different bit values (1 - 6)

kbit     randomi  1, 6, .5, 1
asig     diskin   "fox.wav", 1, 0, 1 ;loop play
aout     Decimator asig, kbit, 44100
         printks  "bitrate = %f\n", .3, kbit
         outs     aout*.7, aout*.7


i 1 0	3 16		;sounds allright but
i 1 +	3 5		;it's getting worse
i 1 +	3 2		;and worse...
i 2 9  22		;or quality moves randomly

See Also

diff, downsamp, integ, interp, samphold