source: ChangeLog @ 236e2a0

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5
Last change on this file since 236e2a0 was 2610b66, checked in by Paul Brossier <piem@piem.org>, 8 years ago

ChangeLog?: add changelog entry for 0.4.5

  • Property mode set to 100644
File size: 40.4 KB
Line 
12017-04-10 Paul Brossier <piem@aubio.org>
2
3        [Overview]
4
5        * VERSION: bump to 0.4.5
6        * src/io/source_avcodec.c: add support for libswresample
7        * aubio: new python command line tool to extract information
8        * src/onset/onset.c: add spectral whitening and compression, improve default
9        parameters
10        * this_version.py: use centralized script to get current version, adding git
11        sha when building from git repo (thanks to MartinHN)
12
13        [Interface]
14
15        * src/spectral/awhithening.h: add adaptive whitening
16        * src/{cvec,mathutils,musicutils}.h: add cvec_logmag, fvec_logmag, and fvec_push
17        * src/onset/onset.h: add aubio_onset_set_default_parameters to load optimal
18        parameters of each novelty function, _{set,get}_compression and
19        _{set,get}_awhitening to turn on/off compression and adaptive whitening
20        * src/spectral/specdesc.h: add weighted phase
21
22        [Library]
23
24        * src/onset/onset.c: improve default onset parameters (thanks to @superbock
25        for access to his evaluation database), see commit dccfad2 for more details
26        * src/pitch/pitch.c: avoid segfault when using invalid parameters
27        * src/temporal/biquad.c: fix biquad parameters initialization (thanks to
28        @jurlhardt)
29
30        [Tools]
31
32        * examples/aubio{onset,track}.c: add options --miditap-note and
33        --miditap-velo to set which midi note is triggered at onset/beat (thanks to
34        @tseaver)
35        * examples/aubioonset.c: show actual parameters in verbose mode
36        * examples/utils.c: improve memory usage to emit midi notes
37
38        [Python]
39
40        * python/ext/py-source.c: add with (PEP 343) and iter (PEP 234) interface
41        * python/ext/py-sink.c: add with interface (PEP 343)
42        * python/lib/aubio/cmd.py: new `aubio` command line tool
43        * python/lib/aubio/cut.py: moved from python/scripts/aubiocut
44
45        [Documentation]
46
47        * doc/*.rst: reorganize and improve sphinx manual
48        * doc/*.txt: update manpages, add simple manpage for aubio command line
49        * doc/full.cfg: derive from doc/web.cfg
50        * README.md: simplify and add contribute information
51
52        [Build system]
53
54        * wscript: prefer libswresample over libavsamplerate when available, use
55        current version in manpages, doxygen, and sphinx, update to newest waf
56        * setup.py: use entry_points console_scripts to generate scripts, use
57        centralized version from this_version.py, clean up
58        * python/lib/moresetuptools.py: detect if libswresample is available
59
602017-01-08 Paul Brossier <piem@aubio.org>
61
62        [ Overview ]
63
64        * VERSION: bump to 0.4.4
65        * src/utils/log.h: new function to redirect log, error, and warnings
66        * python/: AUBIO_ERR raises python exception, AUBIO_WRN to emit py warning
67        * doc/: add some documentation, fix errors in manpages
68        * wscript: new rules to build 'manpages', 'doxygen', and 'sphinx', new
69        --build-type=<release|debug> option (thanks to Eduard Mueller)
70        * src/notes/notes.h: add minioi and silence methods
71        * examples/: add --minioi (minimum inter-onset interval) option
72        * src/pitch/pitchyin.c: improve msvc compiler optimisations (thanks to
73        Eduard Mueller)
74        * python/, src/: improve error messages, fix minor memory leaks
75        * src/io/source_avcodec.c: improve compatibility with latest ffmpeg and with
76        older libav/ffmpeg versions
77        * python/demos/: new demos to capture microphone in real time
78
79        [ Interface]
80
81        * src/aubio.h: include utils/log.h
82        * src/utils/log.h: add new aubio_log_set_function to redirect log messages
83        * src/notes/notes.h: add aubio_notes_{get,set}_minioi_ms, add
84        _{get,set}_silence methods
85
86        [ Library ]
87
88        * src/aubio_priv.h: add AUBIO_INF to print to stdout with header, use new
89        logging function, add ATAN alias, add stdarg.h, move #include "config.h"
90        * src/{fmat,fvec}.c: avoid integer division
91        * src/pitch/pitchyin.c: [msvc] help compiler to optimize aubio_pitchyin_do
92        by giving it addresses for all arrays which are referenced in inner loops,
93        thanks to Eduard Mueller.
94        * src/pitch/pitch.c: declare internal functions as static, fail on wrong
95        method, warn on wrong unit, improve error messages, fix error string
96        * src/spectral/specdesc.c: return NULL if wrong mode asked, remove trailing
97        spaces
98        * src/onset/onset.c: return null and clean-up if new_aubio_specdesc failed,
99        fix error message
100        * src/notes/notes.c: use midi note to store pitch candidate, round to
101        nearest note, add a variable to define precision, fix out-of-bound write,
102        fix unset silence_threshold, fix error message
103        * src/spectral/ooura_fft8g.c: add cast to avoid conversion warnings, prefix
104        public function with aubio_ooura_ to avoid with other apps using ooura (e.g.
105        puredata), make internal functions static,
106        * src/spectral/fft.c: add message about fftw3 being able to do non-power of
107        two sizes, make calls to fftw_destroy_plan thread-safe, use prefixed
108        aubio_ooura_rdft
109        * src/spectral/phasevoc.c: fix error string
110        * src/temporal/resampler.c: throw an error when using libsamplerate with doubles
111        * src/io/ioutils.h: add functions to check samplerate and channels, use in sink_*.c
112        * src/io/source.c: add error message when aubio was compiled with no source,
113        only show error message from last child source_
114        * src/io/source_avcodec.c: call avformat_free_context after
115        avformat_close_input, keep a reference to packet to remove it when closing
116        file, avoid deprecation warnings with ffmpeg 3.2, add backward compatibility
117        for libavcodec55, fix for old libavcodec54, use AV_SAMPLE_FMT_DBL when
118        compiling with HAVE_AUBIO_DOUBLE, fix missing samples in eof block, avoid
119        function calls before declarations, improve error messages, replace with new
120        context before closing old one, make sure s->path is set to null
121        * src/io/{source_wavread,sink_wavwrite}.c: declare internal functions as static
122        * src/io/source_wavread.c: fix bytes_read for JUNK headers, improve error
123        messages, initialize buffer, skip chunks until data is found, or abort, skip
124        junk chunk
125        * src/io/source_sndfile.c: add support for multi-channel resampling, set
126        handle to null after sucessful close, add missing floor in ratio comparison,
127        improve formatting
128        * src/io/sink.c: only show error message from last child sink_
129        * src/io/sink_apple_audio.c: avoid crash on empty file name
130        * src/io/sink_sndfile.c: improve error message
131        * src/io/sink_{sndfile,wavwrite}.c: use AUBIO_MAX_CHANNELS, fix error message
132
133        [ Documentation ]
134
135        * README.md: update copyright dates, use https
136        * src/aubio.h: add some links to examples, use https
137        * src/pitch/pitch.h: add aubio_pitch_get_tolerance, add basic description of
138        unit modes
139        * src/notes/notes.h: add doxygen header
140        * src/spectral/fft.h: strip example path
141        * doc/*.rst: improve sphinx documentation
142        * doc/android.rst: add reference to it scripts/build_android
143        * doc/debian_packages.rst: added page on debian packages
144        * doc/python_module.rst: add demo_source_simple.py, add note on pip, add
145        `print(aubio.version)`
146        * doc/cli.rst: include command line manpages
147        * doc/cli_features.rst: add matrix of command line features
148        * doc/requirements.rst: add a note about --notests (closes #77), document
149        --msvc options, improve description of options
150        * doc/download.rst: added page on download
151        * doc/installing.rst: update
152        * doc/xcode_frameworks.rst: added page on xcode frameworks
153        * doc/**: use https://aubio.org
154        * doc/conf.py: use pyramid theme, update copyright, remove hardcoded path
155        * doc/web.cfg: exclude ioutils from doc
156        * doc/aubionotes.txt: document -M option (see #18),
157        * doc/aubioonset.txt: add documentation for -M, --minioi, improve threshold
158        description (thanks to Peter Parker), fix typo (onset, not pitch)
159        * doc/aubio*.txt: document -T/--timeformat option
160
161        [ Build ]
162
163        * Makefile: add a brief intro, avoid offline operations, add html and dist
164        targets, add rules for documentation, simplify listing, avoid offline
165        operations, bump waf to 1.9.6, check for waf before clean, chmod go-w
166        waflib, improve clean, use pip to install, factorise pip options, generate
167        more test sounds, improve test_python and test_pure_python, pass build_ext
168        in test_pure_python{,_wheel}, quieten uninstall_python if already
169        uninstalled, improve test targets, use bdist_wheel in test_pure_python,
170        build_ext only for --enable-double, verbose waf rules, add cleanwaf
171        * wscript: added debug/release build type configurations release (default)
172        enables optimizations, debug symbols are enabled in both configurations,
173        thanks to Eduard Mueller.
174        * wscript: add options to disable source_wavread/sink_wavwrite, add check
175        for stdarg.h, new rules 'manpages', 'sphinx', and 'doxygen' to build
176        documentation, add version to sphinx and manpages, disable libsamplerate
177        if double precision enabled (libsamplerate only supports float), fix typos,
178        remove trailing spaces, improve tarball creation (./waf dist), remove
179        full.cfg from tarball, prepend to CFLAGS to honor user cflags
180        * wscript, src/wscript_build: improve install locations using DATAROOTDIR,
181        MANDIR, INCLUDEDIR
182        * wscript: default to no atlas for now
183        * src/wscript_build: always build static library
184        * scripts/build_android: add an example script to build aubio on android,
185
186        [ Tools ]
187
188        * examples/aubionotes.c: use new notes, set minioi, send last note off when
189        needed, add warning for missing options
190        * examples/aubioonset.c: add minioi option, in seconds
191        * examples/: only send a last note off when using jack
192        * examples/: return 1 if object creation failed
193        * examples/: use PROG_HAS_OUTPUT, add PROG_HAS_SILENCE
194
195        [ Tests ]
196
197        * tests/src/spectral/test-fft.c: fix default size
198        * tests/src/spectral/test-phasevoc.c: fix typos
199        * tests/src/utils/test-log.c: add AUBIO_INF, add example for
200        aubio_log_set_function, improve messages
201
202        [ Python ]
203
204        * python/ext/aubiomodule.c: add aubio._aubio.__version__ and import it as
205        aubio.version, use custom logging function for errors and warnings, remove
206        duplicated add_generated_objects, use <> for non local aubio
207        * python/ext/py-cvec.c: use NPY_INTP_FMT
208        * python/ext/py-fft.c: use error string set in src/spectral/fft.c
209        * python/ext/py-phasevoc.c: use error string set in src/spectral/phasevoc.c
210        * python/ext/py-sink.c: always set samplerate and channels in init
211        * python/ext/py-source.c: use error string set in src/io/source.c
212        * python/lib/aubio/midiconv.py: add unicode double sharp and double flat,
213        improve unicode handling, skip UnicodeEncodeError on python 2.x
214
215        [ Python build ]
216
217        * MANIFEST.in: add src/**.c, exclude full.cfg, include waflib, remove
218        python/ext/config.h
219        * setup.py: define AUBIO_VERSION use sorted glob.glob to improve
220        reproducibility, remove extra quotes, remove status from version string,
221        update description, use custom build_ext instead of 'generate' command,
222        define HAVE_AUBIO_DOUBLE to 1 if needed
223        * python/lib/gen_code.py: add support for multiple _do outputs, fix number
224        of output, improve del_ function, safer DECREF, fix indentation, emit RuntimeError
225        * python/lib/gen_external.py: clean-up, enable tss, remove duplicate,
226        sort generated files
227        * python/lib/moresetuptools.py: add HAVE_STDARG_H, also check for
228        HAVE_AUBIO_DOUBLE, cleaner clean, look first for system library, then for
229        local build, then local sources, mo nore fake config.h here, use
230        samplerate in single precision only
231        * python/README.md: add a note about nose2 for python tests (closes #74)
232        * scripts/setenv_local.sh: python3 compat
233
234        [ Python demos ]
235
236        * python/demos/demo_alsa.py: add example using alsaaudio (closes #72)
237        * python/demos/demo_mfcc.py: add options to plot first and second
238        derivatives, and set samplerate/win_s/hop_s, thanks to @jhoelzl (closes #68)
239        * python/demos/demo_notes.py: add simple notes demos
240        * python/demos/demo_pyaudio.py: added simple demo for pyaudio, see #6,
241        closes #78, thanks to @jhoelzl and @notalentgeek, add some comments, avoid
242        overwriting aubio.pitch
243        * python/demos/demo_source_simple.py: fix indentation, make executable
244        * python/demos/demo_timestretch{,_online}.py: fix usage string, remove
245        unused import, use // to yield an integer (closes #71)
246        * python/demos/demo_timestretch_online.py: use 512, fix block counter
247        * python/demos/demo_tss.py: improve default parameters, exit before plotting
248
249        [ Python tests ]
250
251        * python/tests/: use local import, add __init__.py
252        * python/tests/test_cvec.py: simplify
253        * python/tests/test_fft.py: skip test fft(zeros).phas == 0 if needed, expected powerpc
254        * python/tests/test_fvec.py: reduce alpha norm precision to 10.-4
255        * python/tests/test_{midi2note,note2midi}.py: use nose2.params, add unicode tests
256        * python/tests/test_notes.py: add basic tests
257        * python/tests/test_notes.py: test results are correct for 44100Hz_44100f_sine441.wav
258        * python/tests/test_sink.py: add more tests, quiet warnings
259        * python/tests/test_source.py: break long line, check the tail of the file
260        is non-zero on non silent test files, filter user warnings to avoid spamming
261        the console, only check if last frames are non silent on brownnoise (weak),
262        remove fragile brownnoise test, check duration on short files, use nose2
263        params to process one sound file per test
264        * python/tests/test_specdesc.py: RuntimeError is now raised on wrong mode
265        * python/tests/utils.py: by default, use 5 seconds brownoise
266
267        [ Only in git ]
268
269        * .travis.yml: add debian dpkg-buildflags config, switch from precise to
270        trusty, sudo required, add ffmpeg on osx, add targets ios, iosimulator,
271        and osx noopt configs, bump to xcode8, add xcode8.2 config, mimick
272        build_apple_frameworks options, alway upgrade pip, add pip --version and
273        which pip after upgrading, remove --user, use expandwaf in install, remove
274        unused ARCH, shuffle order, remove duplicate, add missing opening quote,
275        use AUBIO_NOTESTS to build only lib on ios, add gitter webhook
276        * .appveyor.yml: fix path for windows+python 3.5, fix typo in path, make
277        nose2 tests verbose
278
2792016-08-16 Paul Brossier <piem@aubio.org>
280
281        [ Interface ]
282
283        * src/io/source.h, src/io/source_*.h: add _get_duration
284        * src/notes/notes.h: add basic notes object
285        * src/tempo/beattracking.{c,h}: add _get_period and _get_period_s
286        * src/mathutils.h: add fvec_ishift
287        * src/fvec.{c,h}: add fvec_weighted_copy
288        * src/tempo/tempo.{c,h}: add _get_period and _get_period_s, also add tatum,
289        a subdivision of the beat period, default to 4, implement get/set_delay
290        * src/**.{c,h}: use #ifdef HAVE_FOO, not #if _HAVE_FOO, add const qualifiers
291        to unmodified pointers (see #35)
292
293        [ Library ]
294
295        * src/{fmat,fvec,mathutils}.c: optimisations (using atlas or Accelerate when
296        available) for fvec_sum, fvec_mean, fvec_shift, aubio_level_lin,
297        fvec_set_all, fvec_zeros, fvec_weight, fvec_copy, fvec_weighted_copy,
298        fmat_vecmul
299        * src/aubio_priv.h: check for atlas cblas, use cblas_xswap, vDSP_dotpr,
300        protect SQR parameters, avoid redefining MIN/MAX, define PATH_MAX and PI
301        when needed, use _isnan on windows msvc 9 to avoid linking error, more
302        windows hacks
303        * src/mathutils.c: avoid for loop initial declarations [gcc], use
304        HAVE_ATLAS, use smpl_t for constants
305        * src/fmat.c: skip asserts
306        * src/spectral/{filterbank,mfcc}.c: use accelerated fmat_vecmul
307        * src/spectral/fft.c: fftw can be used odd length sizes, not Ooura,
308        factorise double / single flags, use memcpy
309        * src/spectral/phasevoc.c: fix arguments checks, return NULL when fft
310        creation failed , apply windowing for resynthesized grain, use ishift for
311        odd windows, fix scaling factors for correct reconstruction at 50 and 75%
312        overlap
313        * src/pitch/pitch.c: allow for silence == 0, improve error messages
314        * src/pitch/pitchmcomb.c: fix candidates sorting function, really comparing
315        current to next
316        * src/notes/notes.c: equivalent to previous examples/aubionotes.c results
317        * src/onset/onset.c: simplify selection of first onset, fix for "conversion
318        from 'smpl_t' to 'uint_t', possible loss of data" with msvc
319        * src/pitch/pitchmcomb.c: scan across all spectrum
320        * src/pitch/pitchyinfft.c: use fvec_weighted_copy
321        * src/{spectral/*.c,onset/*.c,tempo/*.c}: make sure win_size > 1
322        * src/io/*.c: use custom defines for {source,sink}_apple_audio, take a copy
323        of const char* path
324        * src/io/source_avcodec.c:
325         - update to libav10, libavcodec 55.34.1
326         - avoid deprecation warning, detect if we use ffmpeg or libav version
327         - check if the uri is a network stream using av_url_split, call
328         avformat_network_init() if needed
329         - check if we still need max_analyze_duration2 (closes #53, thanks to
330         @anthonylauzon)
331        * src/io/source_{avcodec,sndfile}.c: avoid modifying input param
332        * src/io/{sink,source,utils}_apple_audio.c: fix memory leak calling
333        CFRelease (closes #26, closes #27, and closes #28)
334        * src/io/sink_apple_audio.c: disable async mode for now, factorise code
335        * src/io/source_apple_audio.c: check out of bounds _seek, set s->path, quiet
336        * src/io/source_sndfile.c: fix crash, zero-pad output vector when
337        upsampling, use sf_read_double when compiling with AUBIO_DOUBLE, approximate
338        duration when resampling
339        * src/io/sink_sndfile.c: fix for double precision
340        * src/synth/sampler.c: fix typo, keeps a copy of uri
341        * src/tempo/tempo.c: do not write novelty function in output[1]
342        * src/temporal/resampler.c: make msvc happier adding a dummy variable
343        * src/temporal/filter.c: check parameters, fix filter_do_outplace to really
344        avoid modifying input
345        * src/utils/windll.c: add dll main entry point
346
347        [ Python ]
348
349        * General:
350          - new build system, new code generator
351          - Python 3 compatibility (#33), thanks to Nils Philippsen (@nphilipp)
352          - double precision compatibility
353          - simplify memory allocations, removed unneeded malloc/free calls
354          - fix memory leak (#49), check input sizes (#63) and output sizes (#60)
355          - improve indentation, clean up unused imports and variables
356          - fix comparison to None and to False
357        * setup.py: move from python/setup.py, add option to build libaubio inside
358        python-aubio (for instance with pip), add command 'generate' with option
359        '--enable-double', build with -Wdeclaration-after-statement -Werror
360        * python/ext/aubiomodule.c: fix PyMethodDef sentinel
361        * python/ext/aubioproxy.c: factorize input checks into
362        PyAubio_IsValidVector, fix windows c89 compilation, use npy_intp, not long
363        * python/ext: rewrite and simplify, safer and improved memory usage (#49),
364        improve error strings, verify actual object creation
365        * python/ext/py-source.c: added duration, check seek is not negative
366        * python/ext/py-musicutils.c: do not overwrite PyArg_ParseTuple messages
367        * python/lib/gen_code.py: new generator, switch to using custom PyObjects
368        instead of fvec, cvec, fmat, ready for double precision (defaults to single)
369        * python/lib/aubio__init__.py: use new aubio.float_type, make sure length is
370        not zero and float_type is imported
371        * python/lib/aubio/midiconv.py: fix instance checks, make sure midi2note
372        uses midi int (#33)
373        * python/lib/aubio/slicing.py: fix samplerate
374        * python/ext/aubio-types.h: add new_py_ functions to create PyObjects
375        instead of fvec_t, apply to generated and hard-coded objects
376        * python/lib/gen_external.py: improve compiler detection, fixes build on
377        windows (#55)
378        * python/lib/moresetuptools.py: helpers for windows and macos compilations
379
380        [  Python demos ]
381
382        * python/demos/demo_reading_speed.py: new reading speed tests, external
383        packages disabled by default
384        * python/demos/demo_timestretch.py: new timescale algorithm
385        * python/demos/demo_timestretch_online.py: new timescale algorithm (online
386        version)
387        * python/demos/demo_create_test_sounds.py: add script to create simple sound
388        files to test on using sox
389        * python/demos/demo_a_weighting.py: add simple demo for a_weighting
390        * python/demos/demo_filter.py: moved from _a_weighting
391        * python/demos/demo_mfcc.py: use n_coeffs
392        * python/demos/demo_bpm_extract.py: add exception type, avoid {} as default
393        argument value
394        * python/demos/demo_pysoundcard_*: update to pysoundcard 0.5.2 (closes #42)
395        * python/scripts/aubiocut: fix usage string output
396
397        [ Python tests ]
398
399        * python/tests/run_all_tests,*.py: switch to nose2, fix most prospect warnings
400        * python/tests/test_fvec.py: add test_pass_to_numpy, cope with accumulated
401        errors
402        * python/tests/test_cvec.py: simplify, add more tests
403        * python/tests/test_fft.py: more tests, fft.do to clash on wrong size
404        inputs, f.rdo input size, cvec is large enough, memory tests, avoid
405        VisibleDeprecationWarning
406        * python/tests/test_filterbank.py: check for wrong values, ValueError raised
407        * python/tests/test_filter.py: add tests
408        * python/tests/test_musicutils.py: simplify, check TypeError is raised
409        * python/tests/test_mfcc.py: more tests, check for wrong input size (see #63)
410        * python/tests/test_mathutils: fix test_miditobin test, can also raise
411        NotImplementedError (darwin)
412        * python/tests/test_note2midi.py: more tests, use unicode_literals
413        * python/tests/test_phasevoc.py: add a note about ocasional crash check
414        perfect reconstruction for overlap > 75% add 50% overlap test, fix duplicate
415        test name, add wrong sized input tests
416        * python/tests/test_sink.py: remove useless many_sinks_not_closed and cruft
417        * python/tests/test_source.py: simplify, quieten, skip tests if no test sounds
418        * python/tests/test_specdesc.py: check for wrong values, skip wrong name
419        test, use correct input size (see #63)
420        * python/tests/utils.py: try reopening the file is deleting it fails on windows
421        * python/VERSION: removed, use same VERSION file for libaubio and python-aubio
422        * MANIFEST.in: move from python/, update contents
423        * nose2.cfg: add minimal config, set multiprocess always-on=false (fixes
424        coverage, pass -N to speed up the tests)
425
426        [ Tools ]
427
428        * examples/*.c: add time format option
429        * examples/{aubioonset,aubiotrack}.c: also emit midi note, thanks to
430        @topas-rec (closes #62)
431        * examples/: use outmsg to print notes (fixes #8)
432        * examples/aubionotes.c: use new aubio_notes object
433        * examples/aubiotrack.c: enable -O and -t options, fix is_beat/is_silence
434        types
435        * examples/{parse_args,utils}.h: check in config.h if getopt.h was found, or
436        build without for msvc, more windows hacks
437        * examples/utils.c: change send_noteon to accept floating point midi note number
438
439        [ Tests ]
440
441        * tests/src/io/test-source_apple_audio.c: shorten long line
442        * tests/src/io/test-source_avcodec.c: use HAVE_LIBAV, closes #10
443        * tests/src/temporal: avoid crash, clarify
444        * tests/src/tempo/test-tempo.c: tempo back to only one output
445        * tests/src/test-delnull.c: improve test, avoid segfaults
446        * tests/src/test-lvec.c: use AUBIO_LSMP_FMT
447        * tests/utils_tests.h: add VA_ARGS versions of variadic macros
448        * tests/utils_tests.h: also use custom srandom/random when compiling with
449        -std=c99
450        * tests/utils_tests.h: make sure M_PI and RAND_MAX are defined
451
452        [ Build ]
453
454        * Makefile: set waf to 1.8.22 for now, new targets create_test_sounds,
455        build_python, test_python, clean_python, build_python3, clean_python3,
456        test_pure_python, test_pure_python_wheel, (use test_pure_* targets to build
457        without libaubio), use 'HAVE_DOUBLE=1 make' to build in double precision
458        * scripts/build_apple_frameworks: add script to build macosx and ios
459        frameworks (see #34, #43)
460        * scripts/build_emscripten: add script to build with emcc and co
461        * scripts/build_mingw: add script to cross-compile using mingw
462        * scripts/get_waf.sh: added simple script to fetch latest waf
463        * scripts/setenv_local.sh: set environment to run from built source tree
464        * scripts/setenv_local.sh: update to new python-aubio build location
465        * tests/wscript_build: do not install test programs
466        * tests/wscript_build, src/wscript_build: use 'use =', simplify
467        * src/wscript_build: enable shared lib on ios, static lib on windows
468        * wscript:
469          - update --enable-foo to fail if foo is not found
470          - add -mmacosx-version-min=10.4 on darwin
471          - add '-fembed-bitcode' on ios (closes #31), min to 6.1
472          - make fat build, add option to not build with Accelerate framework
473          - add option to not build with CoreAudio/AudioToolbox
474          - add --disable-docs option
475          - add -lm detection
476          - pass HAVE_AUBIO_DOUBLE in compiler arguments
477          - first check for headers, make getopt.h and unistd.h optional
478          - check HAVE_AV* from ctx.env
479          - make msvc compiler quieter, add /MD and /D_CRT_SECURE_NO_WARNINGS
480          - check if we find atlas/cblas.h
481          - new build platform emscripten
482          - more cleanups and updates
483
484        [ Only in git ]
485
486        * .travis.yml: config for https://travis-ci.org/aubio/aubio
487        * .appveyor.yml: config for https://ci.appveyor.com/project/piem/aubio
488        * .landscape.yml: config for https://landscape.io/github/aubio/aubio
489        * conda recipes: see https://github.com/conda/conda-recipes#387
490        * .gitignore: add python/tests/sounds and .egg-info
491
492        [ General ]
493
494        * src/: remove trailing spaces, improve doxygen strings, update copyrights,
495        fix typos
496        * src/onset/onset.h: fix description of get/set_delay functions
497        * src/spectral/mfcc.h: add link to reference implementation
498        * src/spectral/filterbank_mel.h: update reference url
499        * src/musicutils.h: update link to Bernardini's paper, improve doc
500        * doc/aubiomfcc.txt: add a note about the output
501        * doc/*.cfg: update to Doxygen 1.8.8
502        * python/README.md: fix typo (thanks to Sam Alexander), document how to
503        build in a virtualenv (see #2)
504        * README.md: minor updates, link to python/README.md, switch to https
505        * VERSION: bump to 0.4.3
506
5072015-08-01 Paul Brossier <piem@aubio.org>
508
509        [ Interface ]
510        * src/onset/onset.h: add aubio_onset_get_silence(), fix description of
511        aubio_onset_get/set_delay functions
512        * src/tempo/tempo.h: add aubio_tempo_get_silence and aubio_tempo_get_threshold
513
514        [ Library ]
515        * src/io/audio_unit.c: fix deprecation warning (closes #16)
516        * src/io/sink_apple_audio.c: avoid opening null path
517        * src/io/sink_sndfile.c: improve error messages, set nsamples after write
518        * src/io/sink_wavwrite.c: fail if samplerate is way too large, assume
519        windows is little endian to build with mingw32
520        * src/io/source_apple_audio.c: check out of bounds _seek, set s->path, quiet
521        * src/io/source_avcodec.c: update to libav10, libavcodec 55.34.1
522        * src/io/source_sndfile.c: cast to uint_t for now, clarify some variables
523        names, fix crash, zero-pad output vector when upsampling, improve seek errors and strings
524        * src/io/source_wavread.c: avoid orphan parenthesis , cast size_t to int to
525        avoid warning on win64 , improve seek errors processing , sync error message
526        * src/onset/onset.c: avoid doubled onset at start, check parameters
527        * src/pitch/pitch.c: add Hertz as valid unit string, check parameters
528        * src/pitch/pitchyin.c, src/pitch/pitchyinfft.c: avoid producing NaN on silence (closes #7)
529        * src/pitch/pitchyin.{c,h}: fix typo, developed
530        * src/spectral/phasevoc.c: fix argument checks, improve error messages
531        * src/synth/sampler.c: make sure blocksize > 0
532        * src/tempo/beattracking.c: avoid segfault on silence (closes #24)
533        * src/tempo/tempo.c: add silence detection (closes #23), add old behavior in
534        examples/aubiotrack.c, check parameters
535        * src/*.c: fix some useless float conversion
536
537        [ Python ]
538        * python/ext/aubiomodule.c: improve documentation
539        * python/ext/py-musicutils.c: add silence_detection (closes #21),
540        level_detection, db_spl, level_lin, complete window implementation
541        * python/ext/py-source.c: add channels, add seek (closes #9)
542        * python/demos/demo_a_weighting.py: add simple demo for a_weighting
543        * python/demos/demo_sink_multi.py: add multi channel version
544        * python/demos/, python/demos/: minor improvements, improve syntax (closes #19)
545        * python/setup.py: use setuptools, add numpy to install_requires
546
547        [ Build ]
548        * waf: removed, now automatically downloaded with make, updated to 1.8.12
549        * Makefile: add target to fetch waf and basic instructions
550        * .travis.yml: added template for travis continuous integration
551        * {examples,src,tests}/wscript_build: add external libs and uselib to targets
552        * src/wscript_build: do not hardocode install path
553        * wscript, src/io/*.c: use custom defines instead of __APPLE__
554        * wscript: make fat build optional, remove iOS sdk versioning
555
556        [ General ]
557        * examples/: use outmsg to print notes (fixes #8)
558        * examples/parse_args.h: improve short documentation (closes #12)
559        * doc/*.cfg: remove html timestamps to make build reproducible (see debian bug #779216)
560        * doc/aubiocut.txt: improve documentation
561        * doc/*.rst: add sphinx documentation basis with Makefile and conf.py
562        * README.md: minor updates
563        * python.old: removed old code
564        * tests/: minor bug fixing
565
5662014-01-31 Paul Brossier <piem@aubio.org>
567
568        [ Interface ]
569        * src/io/{source_wavread,sink_wavwrite}.h: new source and sink objects to
570        read and write simple wav files when building with no external dependencies
571        * src/io/{source,sink}*.h: added close functions to explicitly close file
572        * src/io/sink*.h: added do_multi, preset_channels, preset_samplerate,
573        get_channels and get_samplerate functions
574        * src/onset/onset.h: added aubio_onset_get_threshold
575        * src/mathutils.h: add fvec_quadratic_peak_mag to find the magnitude of
576        interpolated peaks
577
578        [ Library ]
579        * src/io/source_avcodec.c: implement _seek function
580        * src/io/source_sndfile.c: fixed _seek when signal is resampled
581        * src/spectral/ooura_fft8g.c: use float when double is not needed
582        * src/io/{source,sink}_apple_audio.c: improve error messages
583        * src/spectral/phasevoc.c: optimize swapbuffers by using memcpy
584        * src/lvec.c: add missing lvec_set_sample, improve test
585        * src/tempo/beattracking.c: improve confidence values by using interpolated
586        peak magnitude and avoiding nan
587        * src/tempo/tempo_davies.c: set default novelty function to specflux
588
589        [ Python module ]
590        * python/ext/py-{sink,source}.c: add do_multi and close functions
591        * python/ext/aubio-types.h: set NPY_NO_DEPRECATED_API to version 1.7
592        * python/lib/aubio/slicing.py: new function to slice a source into a list of
593        arbitrary regions
594        * python/scripts/aubiocut: add options --cut-until-nsamples and
595        --cut-until-nsclices, thanks to Mark Suppes for requesting, sponsoring,
596        and testing this feature
597
598        [ General code ]
599        * src/aubio_priv.h: use ifdefs to avoid checking undefined defines
600        * src/**.c: add missing prototypes, avoid some declarations after statement
601        * waf, waflib: update to 1.7.15
602
6032013-12-08  Paul Brossier <piem@aubio.org>
604
605        * Overdue: After more than five years of development behind the curtain,
606        time has come to release a new version of aubio.
607
608        * General: The library has been completely revised since 0.3.2. The API has
609        seen a major clean up, and has been thoroughly tested. The following list of
610        changes is not exhaustive.
611
612        * Memory management: allocation and freeing of memory has been optimized in
613        many ways. Several memory leaks and out of bound access have been fixed.
614
615        * Optimization: the FFT, central to most algorithms, can now be computed
616        using different optimized algorithms, depending on what is available on your
617        platform (FFTW, Ooura, or vDSP). Other simple optimization tricks are
618        included. Most can be deactivated by configuring the build accordingly.
619
620        * python/: The python interface has been completely rewritten to use numpy C
621        interface, making the aubio python module order of magnitudes faster than
622        the previous version. Several demos and tests are included.
623
624        * src/: source and header files are now organized in sub-directories.
625
626        * src/io/source.h: new source readers can now use any or all of libav,
627        CoreAudio, and libsndfile. This means that aubio can now easily read most
628        uncompressed and compressed formats. Compiled with libav, aubio can also
629        read audio from video files, and over the network.
630
631        * src/io/sink.h: a new sink object lets you write wav files with any number
632        of channels, at any samplerate, using libsndfile or CoreAudio.
633
634        * src/onset, src/tempo/, src/pitch: the different methods for onset, tempo,
635        and pitch extraction have seen many bug-fixes and optimizations.
636
637        * src/spectral/specdesc.h: new onset distances and statistical measures have
638        been added.
639
640        * src/spectral/filterbank.h: new filter bank to compute the energy in any
641        custom-defined frequency bands.
642
643        * src/spectral/mfcc.h, examples/aubiomfcc.c: a standard implementation of
644        the Mel-Frequency Cepstrum Coefficients algorithm has been added.
645
646        * src/temporal/{a,c}_weighting.h: standard implementation of the C-weighting
647        and A-weighting pre-processing filters are now provided for most commons
648        sampling rates.
649
650        * src/synth/wavetable.h, src/synth/sampler.h: provide basic ways to generate
651        some sounds.
652
653        * src/fvec.h: fvec_t, the vector object central to most aubio algorithms, is
654        now single channel. This simplifies the code of each algorithm greatly.
655
656        * src/lvec.h: lvec_t provides a double precision vector, required for some
657        operations to avoid floating point overflow
658
659        * src/fmat.h: fmat_t provides a single precision matrix, useful for
660        multi-channel operations and to some algorithms such as the spectral filter
661        bank.
662
663        * examples/: several new options, including new programs, have been
664        included. Refer to the documentation for details.
665
666        * tests/: several tests and examples programs have been added. This should
667        be a good place to look at to understand how to use aubio.
668
669        * doc/web.cfg: a simplified Doxygen configuration produces a simpler html
670        documentation.
671
672        * doc/*.txt: the manpages have been rewritten for txt2man.
673
674        * Build system: the build system has been switched from autotools/automake
675        to waf. Type './waf' or see README.md for instructions on how to use waf.
676
6772006-11-10  Paul Brossier <piem@altern.org>
678        * configure.ac: check c compiler for -Wextra option
679        * examples/*: add lash support to aubioonset, aubiotrack, and aubionotes
680        * */Makefile.am: improve compilation on Mac OS X, mingw and cygwin
681        * src/{onset,tempo}.[ch]: add simple c interfaces to onset and tempo tasks
682        * src/beattracking.c: allow the use of two beat trackers simultaneously
683        * examples/tests: add test programs for most c functions
684        * src/*.c: add most missing free calls
685        * src/*.c: fix some out of array writes
686        * src/,ext/: more gcc warning fixes
687
6882006-27-06  Paul Brossier <piem@altern.org>
689        * plugins/puredata/Makefile.am: move pd help to pattern-help.pd
690                - thanks goes to Frank Barknecht
691        * ext/sndfileio.c src/aubio_priv.h: fixes memset in aubio_priv.h, remove
692                useless sfinfo.format=0 - thanks karsten wiese
693        * ext/midi/midi_alsa_seq.c: do not call pthread_ in aubio_midi_direct_output
694                - thanks karsten wiese
695        * python/aubio/task/beat.py: task beat() output seconds
696        * python/aubio/task/beat.py: ugly hack to plot beat track anyway
697        * examples/aubionotes.c: fix signed/unsigned mismatches in examples
698        * src/beattracking.c: fix signed/unsigned mismatches in beattracking
699        * src/pitchfcomb.c: fix signed/unsigned mismatches in pitchfcomb
700        * src/pitchschmitt.c: fix signed/unsigned mismatches in pitchscmitt
701        * configure.ac: use -Wextra but unused parameters, fix macos CFLAGS
702        * plugins/puredata/Makefile.am: simplify puredata Makefile.am
703        * python/aubio/Makefile.am: avoid overwriting CFLAGS
704        * examples/Makefile.am: use top_{build,src}dir instead of ../
705        * configure.ac: make configure.ac more readable
706        * python/aubio/task/cut.py: use os.path to derive default output filenames
707        * VERSION: 0.3.1
708
7092006-18-05 Paul Brossier <piem@altern.org>
710        * src/pitchyinfft.{c,h}: new pitch detection method
711        * src/beattracking.c: algorithm improved
712        * plugins/puredata/: new puredata external
713        * python/tasks: enhancements to the onset detection algorithms
714        * python/aubiocut: improved, can now slice at beats and silences
715        * python/aubiopitch: new python program to extract pitch tracks
716        * python/: plotting features for aubiocut and aubiopitch
717        * python/: interface refactored
718        * doc/: updated documentation
719        * VERSION: 0.3.0
720
7212006-18-05  Paul Brossier <piem@altern.org>
722        * src/beattracking.c: added beattracking.c
723        * various bug fixes
724        * VERSION: 0.2.0
725
7262005-29-03  Paul Brossier <piem@altern.org>
727        * python/aubio/gnuplot.py: clean up and add plotsound
728        * python/aubiocompare-onset: updated
729        * examples/aubioonset.c: fix text output when nframes<4
730        * ext/midi/midi_file.c: by default, int is unsigned on powerpc
731        * python/aubiocut, python/aubio/aubioclass.py: updated
732        * ext/midi/midi_alsa_seq.c: activated threading
733        * configure.ac,Makefile.am: added rules to check presence
734         of swig, python, puredata and docbook-to-man.
735
7362005-17-03  Paul Brossier <piem@altern.org>
737        * examples/utils.{c,h}:  corrected usedoubled and -O interactions
738        * examples/aubioonset.c: added frames>=4 check (thanks Hamish Allan)
739
7402004-12-11  Paul Brossier <piem@altern,org>
741        * swig/Makefile.am: instructions moved to python/aubio and cleaned
742        * python/aubiocut: corrected slicing on multichannel files
743        * VERSION: bumped to 0.1.8
744
7452004-12-06  Paul Brossier <piem@altern.org>
746        * examples/{midi*,testforclam}.c: removed
747        * src/{sndfile,midi*,jackio}.[ch]: moved to ext
748
7492004-12-03  Paul Brossier <piem@altern.org>
750        * src/{mathutils,pitchyin}.h: got rid of some shadowed declarations
751        * plugins/puredata: first puredata plugin attempt added
752
7532004-11-30  Paul Brossier <piem@altern.org>
754        * configure.ac: added -lmx on macosx
755        * python/aubiocut: seeks for local minima before peak
756                           added zero crossing search
757        * src/pitchyinc.c: adds draft for all-in-one faster function
758        * examples/*.c: added ladcca client (needs work)
759        * examples/aubioonset.c: cleaned up verbose stdout
760        * doc/aubio.css: updated
761
7622004-10-28  Paul Brossier <piem@altern.org>
763        * src/Makefile.am: added config.h installation
764        * VERSION: 0.1.7.1
765
7662004-10-26  Paul Brossier <piem@altern.org>:
767        * src/pitchdetection.*: moved to src/pitchmcomb.*, now includes a
768        draft driver for transparent use of mcomb or yin
769        * src/pitchmcomb.*: added from old src/pitchdetection.*
770        * VERSION: 0.1.7
771
7722004-10-20  Paul Brossier <piem@altern.org>:
773        * configure.ac: made fftw3f, alsa and jack optional
774        * src/fft.{c,h}: now uses FFTW3F_SUPPORT
775        * src/timer.c: #if 0 on win32 version
776
7772004-10-18  Paul Brossier <piem@altern.org>:
778        * src/{fft,cvec,pvoc}.c: fixed fft size (N/2+1)
779        * src/{onsetdetection,tss}.c: fixed sizes as well
780        * src/pvoc.c: fixed resynthesis scaling factor (still missing
781        windowing), windowing added in pvoc_rdo
782        * src/fft.h: removed FFTW typedef
783        * configure.ac: removed AC_ISC_POSIX to compile on mingw32
784        * src/fft.c: removed useless fftw3.h include
785        * src/pitchmcomb.c: removed call to vec_adapt_thres (writes out of
786        bounds)
787
7882004-10-17  Paul Brossier <piem@altern.org>
789        * src/sample.c: removed static _malloc, set all 0. (fixes nan bugs)
790        * examples/*.c: removed useless pvoc inits
791        * src/pitchyin.c: based on de Cheveigne paper
792
7932004-09-17  Paul Brossier <piem@altern.org>
794        * configure.ac,src/Makefile.am: cleaned up autotools process
795        * examples/aubio*.c: removed some useless code.
796        * src/sample.c: removed crazy call to memset
797
7982004-09-02  Paul Brossier <piem@altern.org>
799        * src/sndfileio.c: removed abusive call to AUBIO_ARRAY,
800        defined MAX_SIZE instead.
801        * src/onsetdetection.c: rewritten free_function.
802        * src/phasevoc.c: in aubio_pvoc_rdo, one way writing only
803        * swig/, python/aubio: added swig wrapper, played a bit with
804        python interface.
805        * src/aubio.h: now includes midi_driver.h
806
8072004-06-25  Paul Brossier <piem@altern.org>
808        * src/peakpick.h:
809           renamed pickparams_t to aubio_pickpeak_t
810           disabled samer_pp (broken)
811           added del_aubio_peakpick
812           added aubio_peakpick_pimrt_wt (thanks mramirez)
813        * python/aubio/onsetcompare.py: now works on huge list
814           thanks goes to Nicolas Wack
815        * examples/aubionotes.c: now outputs NOTEONs
816        * configure.ac: quick hack to disable jack and alsa
817        * examples/*usingjack*: more hacking to disable jack
818        * README: some updates
819
8202004-06-23  Paul Brossier <piem@altern.org>
821        * src/*.h: added C++ ifdefs in header files
822        * src/fft.h: removed complex.h include in header
823        * src/hist.c: fixed out of array indexes
824                thanks Miguel Ramirez!
825        * src/Makefile.am: added install headers
826        * doc/Makefile.am: removed dist-hook to update-docs
827        * sounds/Makefile.am: added install hooks
828        * aubio.pc.in: added aubio.pc generation for pkg-config
829        * python: added some evaluation functions
830        * src/aubio_priv.h: moved AUBIO_DBG to stderr
831        * examples/utils.h: now outputs on stdout
832        * examples/midi*.c: fixed compilation with gcc-2.95
833        * VERSION: 0.1.4
834
8352004-04-27  Paul Brossier <piem@altern.org>
836        * pitchdetection.c: fixed, still not great
837        * Makefile.am: fixed missing headers (thank you Charbel)
838        * aubioonset,aubionotes: renamed for install (were *demo files)
839        * First working release: 0.1.3
840
8412004-01-31  Paul Brossier <piem@altern.org>
842        * pitchdetection.c: working, still a bit too picky
843        * filter.c: sizeable biquad, fixed via pitchtest.c
844        * types.h: added file, all generic system wide types.
845        * tss.c: added some speed improvements
846
8472004-01-20  Paul Brossier <piem@altern.org>
848        * peakpick.c: working real time onset detection
849        * biquad.c: needs fixing
850
8512004-01-10  Paul Brossier <piem@altern.org>
852        * long time i didn't touch this file
853        * added various objects
854        * working onsetdetectors
855        * various examples
856        * splitted in a dynamic library
857        * functions renamed (new_. del_. aubio_._do)
858        * VERSION: 0.1.0_alpha
859
8602003-11-04  Paul Brossier <piem@altern.org>
861        * aubio.h: degrouping in modules
862        * VERSION: 0.0.6_alpha
863
8642003-11-03  Paul Brossier <piem@altern.org>
865        * phasevoc.c: fixed memory acces
866        * jackio.c: moving to ringbuffer type implementation
867        * VERSION: 0.0.4_alpha
868
8692003-11-03  Paul Brossier <piem@altern.org>
870        * jackio.c: added jack support
871        * aubioenc.c: fixed memory freeing bugs
872        * VERSION: 0.0.3_alpha
873
8742003-10-29  Paul Brossier <piem@altern.org>
875        * aubio.h: Grouping all headers
876        * makefile.am: Running first make dist
877        * VERSION: 0.0.2alpha
878 
8792003-10-18  Paul Brossier <piem@altern.org>
880        * aubioenc.c: Working phase vocoder
881        * VERSION: 0.0.1alpha
Note: See TracBrowser for help on using the repository browser.