From 9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22 Mon Sep 17 00:00:00 2001 From: Richard Date: Sun, 13 Apr 2025 18:48:02 +0100 Subject: initial --- site/udo/pvs_tools.udo | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 site/udo/pvs_tools.udo (limited to 'site/udo/pvs_tools.udo') diff --git a/site/udo/pvs_tools.udo b/site/udo/pvs_tools.udo new file mode 100755 index 0000000..2fcbc8a --- /dev/null +++ b/site/udo/pvs_tools.udo @@ -0,0 +1,31 @@ +#ifndef UDO_PVSTOOLS +#define UDO_PVSTOOLS ## +/* + Phase vocoder tools + + This file is part of the SONICS UDO collection by Richard Knight 2024 + License: GPL-2.0-or-later + http://1bpm.net + +*/ + + +opcode pvs_ifn2buffer, i, iiiii + ifn, ifftsize, ioverlap, iwinsize, iwinshape xin + ktimek timeinstk + if (ktimek == 1) then + ilen = ftlen(ifn) / ftsr(ifn) + kcycles = ilen * kr + kcount init 0 + while (kcount < kcycles) do + apos lphasor 1 + ain table3 apos, ifn + ffin pvsanal ain, ifftsize, ioverlap, iwinsize, iwinshape + ibuf, ktime pvsbuffer ffin, ilen + (ifftsize / sr) + kcount += 1 + od + xout ibuf + endif +endop + +#end -- cgit v1.2.3