comparison README @ 111:24d1c698b548 vampy-2.2

Refer to CHANGELOG
author Chris Cannam
date Tue, 19 Feb 2019 13:56:29 +0000
parents 28d22109991c
children
comparison
equal deleted inserted replaced
110:b90cd806515d 111:24d1c698b548
56 56
57 Vampy embeds the Python interpreter dynamically, and also extends 57 Vampy embeds the Python interpreter dynamically, and also extends
58 it with data types defined by the Vamp C++ API, all within a 58 it with data types defined by the Vamp C++ API, all within a
59 single shared library. 59 single shared library.
60 60
61
62 WHAT'S NEW IN THIS RELEASE?
63
64 See the file CHANGELOG for details of changes in this release
65 (and previous releases) of Vampy.
66
61 67
62 OBTAINING VAMPY: 68 OBTAINING VAMPY:
63 69
64 Vampy is a free, cross platform, open source package. The 70 Vampy is a free, cross platform, open source package. The
65 source code is available from its repository at 71 source code is available from its repository at
108 _DEBUG : print more detailed messages while Vampy is in use 114 _DEBUG : print more detailed messages while Vampy is in use
109 _DEBUG_VALUES : print all converted values to stderr 115 _DEBUG_VALUES : print all converted values to stderr
110 116
111 (But note that basic debug messages are compiled in already, and 117 (But note that basic debug messages are compiled in already, and
112 will be displayed if the environment variable VAMPY_VERBOSE is set.) 118 will be displayed if the environment variable VAMPY_VERBOSE is set.)
113
114
115 UPDATES IN THIS VERSION (Vampy 2.0):
116
117 * More complete, two-way Numpy support
118 * Embedded extension module exposing Vamp defined names
119 e.g. ParameterDescriptor. This allows easier porting to C++.
120 * Support RealTime time stamps
121 * Support byte compiled Python scripts (.pyc)
122 * Environment variables
123 * Flags to control how Vampy works with each plugin
124 * Flexible type inference to take advantage of dynamic typing
125 * More complete error checking for all Python/C API calls
126 * Various optimisations and speed-ups
127
128 Vampy now supports two main use cases:
129 1) Prototyping C++ Vamp plugins in Python.
130 2) Develop Vampy plugins in Python to allow the use of a vamp
131 hosts for e.g. batch processing or visualisation.
132
133 Vampy provides an extension module which allows the use of
134 data types defined in the Vamp API; such as FeatureSet() or
135 RealTime() in Vampy plugins.
136
137
138 BACKWARD COMPATIBILITY (Read this if you used Vampy 1):
139
140 This is the second version of Vampy. It is largely compatible
141 with the previous version and it is able to run plugins
142 written for it. However, due to some bug fixes in this release,
143 it may be required to modify old plugins to work correctly
144 with Vampy 2.0:
145
146 * The size of the input buffers of frequency domain plugins
147 are now longer by one element corresponding to the Nyquist
148 frequency output of the FFT.
149
150 * The legacy interface now uses complex numbers to pass the
151 FFT output to frequency domain plugins in Vampy 2.0 instead
152 of floating point values.
153
154 * Consequently, the size of the input buffer for each
155 audio channel is blockSize/2 + 1 if the legacy interface
156 is used and blockSize+2 if the buffer interface is used
157 in frequency domain plugins. Time domain plugins however
158 do not require any change.
159
160 * Vampy 1 had two types of process interfaces; the legacy
161 and the buffer interface (for Numpy support). They were
162 selected based on the name of the process method.
163 A process() implementation used the legacy interface,
164 a processN() implementation used the Numpy buffer interface.
165 This behaviour is retained for backward compatibility but
166 only if no flags are set. The use of processN() is now
167 obsolete, since the standard process() implementation can
168 be configured to use any of the available interfaces by
169 setting the flags appropriately.
170 119
171 120
172 USING VAMPY: 121 USING VAMPY:
173 122
174 (1) Make sure you have Python 2.7 installed and you 123 (1) Make sure you have Python 2.7 installed and you