summaryrefslogtreecommitdiff
path: root/opcodes/tradsyn.xml
blob: d9f117762b0cf43f3c0eded2ad00b1d029df314e (plain)
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
<refentry id="tradsyn">
<indexterm id="Indextradsyn"><primary>tradsyn</primary></indexterm>
  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
  <refmeta>
    <refentrytitle>tradsyn</refentrytitle>
  </refmeta>



  <refnamediv>
    <refname>tradsyn</refname>
    <refpurpose>
    Streaming partial track additive synthesis
          </refpurpose>
  </refnamediv>
  
  <refsect1>
    <title>Description</title>
    <para>
  The tradsyn opcode takes an input containg a TRACKS pv streaming signal (as generated,
  for instance by partials),as described in Lazzarini et al, "Time-stretching using the Instantaneous Frequency Distribution and Partial
  Tracking", Proc.of ICMC05, Barcelona. It resynthesises the signal using linear amplitude and frequency
  interpolation to drive a bank of interpolating oscillators with amplitude and pitch scaling controls.
	      </para>
  </refsect1>

  <refsect1>
    <title>Syntax</title>
    <synopsis>asig <command>tradsyn</command> fin, kscal, kpitch, kmaxtracks, ifn</synopsis>
  </refsect1>

  <refsect1>
    <title>Performance</title>
	    <para>
      <emphasis>asig</emphasis> -- output audio rate signal
    </para>
	
    <para>
      <emphasis>fin</emphasis> -- input pv stream in TRACKS format
    </para>

    <para>
      <emphasis>kscal</emphasis> -- amplitude scaling
    </para>

    <para>
      <emphasis>kpitch</emphasis> -- pitch scaling
    </para>

    <para>
      <emphasis>kmaxtracks</emphasis> -- max number of tracks in resynthesis. Limiting this will cause
	  a non-linear filtering effect, by discarding newer and higher-frequency tracks (tracks are ordered
	  by start time and ascending frequency, respectively)
    </para>

    <para>
      <emphasis>ifn</emphasis> -- function table containing one cycle of a sinusoid (sine or cosine) </para>
    
  <para>
    
  </para>    
    
  </refsect1>

  <refsect1>
    <title>Examples</title>
    <para>
      <example>
        <title>Example</title>
        <programlisting>
ain inch 1                  ; input signal
fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
      aout  tradsyn fst, 1, 1.5, 500, 1 ; resynthesis (up a 5th)
out aout
        </programlisting>
      </example>


    </para>
    
    <para>
The example above shows partial tracking of an ifd-analysis signal and
linear additive resynthesis with pitch shifting. 
    
    </para>
    
  </refsect1>
 
  <refsect1>
    <title>Credits</title>
    <para>
      <simplelist>
        <member>Author: &namevictor;</member>
        <member>June 2005 </member>
      </simplelist>
    </para>

    <para>New plugin in version 5</para>
    <para>November 2004.</para>
  </refsect1>
</refentry>