1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
<refentry id="pvstanal">
<indexterm id="IndexPvstanal"><primary>pvstanal</primary></indexterm>
<refentryinfo><title>Spectral processing: pvstanal</title></refentryinfo>
<refmeta>
<refentrytitle>pvstanal</refentrytitle>
</refmeta>
<refnamediv>
<refname>pvstanal</refname>
<refpurpose>
Phase vocoder analysis processing with onset detection/processing.
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
<emphasis>pvstanal</emphasis> implements phase vocoder analysis by reading function tables
containing sampled-sound sources, with <link linkend="GEN01"><citetitle>GEN01</citetitle></link>, and
<emphasis>pvstanal</emphasis> will accept deferred allocation tables.
</para>
<para>
This opcode allows for time and frequency-independent scaling. Time is advanced internally, but controlled by a tempo scaling parameter; when an onset is detected, timescaling is momentarily stopped to avoid smearing of attacks. The quality of the effect is generally improved with phase locking switched on.
</para>
<para>
<emphasis>pvstanal</emphasis> will also scale pitch, independently of frequency, using a transposition factor (k-rate).
</para>
</refsect1>
<refsect1>
<title>Syntax</title>
<synopsis>asig <command>pvstanal</command> ktimescal,kamp,kpitch,ktab,[kdetect, kwrap, ioffset,ifftsize, ihop, ithresh]
</synopsis>
</refsect1>
<refsect1>
<title>Initialization</title>
<para>
<emphasis>ifftsize</emphasis> -- FFT size (power-of-two), defaults to 2048.
</para>
<para>
<emphasis>ihop</emphasis> -- hopsize, defaults to 512
</para>
<para>
<emphasis>ioffset</emphasis> -- startup read offset into table, in secs.
</para>
<para>
<emphasis>idbthresh</emphasis> -- threshold based on dB power spectrum ratio between two successive windows. A detected ratio above it will cancel timescaling momentarily, to avoid smearing (defaults to 1)
</para>
</refsect1>
<refsect1>
<title>Performance</title>
<para>
<emphasis>ktimescal</emphasis> -- timescaling ratio, < 1 stretch, > 1 contract.
</para>
<para>
<emphasis>kamp</emphasis> -- amplitude scaling
</para>
<para>
<emphasis>kpitch</emphasis> -- grain pitch scaling (1=normal pitch, < 1 lower, > 1 higher; negative, backwards)
</para>
<para>
<emphasis>kdetect</emphasis> -- 0 or 1, to switch onset detection/processing
</para>
<para>
<emphasis>ktab</emphasis> -- source signal function table. Deferred-allocation tables (see
<link linkend="GEN01"><citetitle>GEN01</citetitle></link>) are accepted, but the opcode
expects a mono source. Tables can be switched at k-rate.
</para>
<para>
<emphasis>kwrap</emphasis> -- 0 or 1, to switch on/off table wrap-around read (default to 1)
</para>
</refsect1>
<refsect1>
<title>Examples</title>
<para>
<example>
<title>Example</title>
<programlisting>
idur = p3
ilock = p4
itab = 1
ipitch = 1
iamp = 0.8
ktime linseg 0.3, p3/2, 0.8, p3/2, 0.3
fs1 pvstanal ktime,iamp,ipitch,itab
a1 pvsynth fs1
out a1
</programlisting>
</example>
</para>
</refsect1>
<refsect1>
<title>Credits</title>
<para>
<simplelist>
<member>Author: &namevictor;</member>
<member>February 2010</member>
</simplelist>
</para>
<para>New plugin in version 5.13</para>
<para>February 2005.</para>
</refsect1>
</refentry>
|