1191 lines · 53.5 KB · Text
RawDownload
2018-12-19 Paul Brossier <piem@aubio.org> 	[ Overview ] 	* VERSION: bump to 0.4.9	* library: improve stability, fixing potential crashes and memory leaks on	invalid arguments; improve library messages and reporting of system errors	* tests/: major clean-up, check return codes, increase code coverage	* python/tests/: switch to pytest (closes gh-163), check emitted warnings	* python/: add pages to manual with brief descriptions of classes 	[ Fixes ] 	* security: improve arguments validation in new_aubio_filterbank (prevent	possible null-pointer dereference on invalid n_filters, CVE-2018-19801),	new_aubio-tempo (prevent possible buffer overflow, CVE-2018-19800), and	new_aubio_onset (prevent null-pointer dereference, CVE-2018-19802). Thanks	to Guoxiang Niu (@niugx), from the EaglEye Team for reporting these issues.	* tempo: fix delay_ms methods	* filterbank: fix aubio_filterbank_get_power (thanks to @romanbsd who	also noticed this issue)	* dct: creation fail on negative sizes or invalid accelerate radix,	fix typo in error and warning messages, prevent possible memory leak	* pitch: prevent null pointer dereference in yinfast, comment out unused	functions in mcomb and yin, prevent possible leak in specacf	* mfcc: always use dct module, strengthen input validation, change	get_{scale,power} to return smpl_t	* specdesc: improve error message	* notes: prevent null pointer dereference	* hist: add validation for size argument, prevent possible leak	* awhitening: use shortest length available (closes gh-216)	* io: add macros to display system errors, add helpers to validate input	arguments of source and sink methods, always clean-up after failure	* source: validate input sizes to prevent invalid reads	* apple_audio: use native format conversions in source and sink, prevent	possible apple_audio crash on empty string, get_duration returns 0 on failure	* ffmpeg/avcodec: prevent deprecation warnings, read after close, and skipped	samples warnings, improve warning messages, only show a warning when	swr_convert failed, prevent possible memory leak when closing swr context	* wavwrite: copy to all channels if needed, check fseek and fwrite return	values, call fflush in open to return failure on full disk-system	* source_sndfile: fix reading sizes when resampling, set error message when	reading after close	* aubio_priv.h: include blas first (see gh-225), add STRERROR macros 	[ Python ] 	* documentation: add pages to manual, add minimal docstrings for fft,	digital_filter, and generated objects, improve specdesc documentation	* filterbank: add get_norm/power documentation	* source: take a copy of the last frame before resizing it, raise an	exception when read failed, fix compilation warning	* fixes: remove unneeded check convert with PyFloat_FromDouble or	PyFloat_FromDouble, check if sink, digital_filter, were created before	deleting 	[ Tests ] 	* python/tests/: switch to pytest (slightly slower than nose2 but better at	capturing warnings and parametrization), improve coding style and coverage.	Tests should now be run with `pytest`.	* tests/: Each test program in C must now return 0, otherwise the test will	fail. Examples have been modified to run themselves on a test audio file,	but can still be run with arguments. Tests for `source` and `sink` have been	factorised, and some code cleaning. A python script is used to create a	test sound file. Tested on linux, macos, and windows, improvements to	test-mfcc (closes gh-219). 	[ Build system ] 	* waf: upgrade to 2.0.14, check the return code of each test program,	update rules to build manual and api documentation into build/, check	for errno.h	* osx: use -Os in scripts/build_apple_frameworks	* Makefile: improve coverage reports	* appveyor, travis, circleci: switch to pytest, set one travis config to use	sndfile only	* travis: add py3.6, drop py3.4, use py3.5 to test debug mode	* azure: add basic configuration 2018-11-21 Paul Brossier <piem@aubio.org> 	[ Overview ] 	* VERSION: bump to 0.4.8	* notes: new option release_drop (gh-203)	* spectral: new parameters added to filterbank and mfcc (gh-206)	* python: start documenting module (gh-73, debian #480018), improve build for	win-amd64 (gh-154, gh-199, gh-208)	* fixes: prevent crash when using fft sizes unsupported by vDSP (gh-207),	prevent saturation when down-mixing a multi-channel source (avcodec/ffmpeg) 	[ Fixes ] 	* avcodec: prevent saturation when down-mixing a multi-channel source, emit	a warning if compiling against avutil < 53 (gh-137), wrap long lines	* examples/: avoid hiding global and unreachable code	* fft: limit to r*2*n sizes, with r in [1, 3, 5, 15] (vDSP only) (gh-207)	* fft: fix reconstruction for odd sizes (fftw only)	* pvoc: add missing implementations for aubio_pvoc_get_hop/win	* mathutils: increase ln(2) precision of in freqtomidi/miditofreq	* wavetable: stop sets playing to 0, add dummy implementation for _load 	[ New features ] 	* src/musicutils.h: new aubio_meltohz, aubio_hztomel, with _htk versions	* src/spectral/filterbank.h: new set_mel_coeffs, set_mel_coeffs_htk,	set_power, and set_norm methods, improved set_triangle_bands	* src/spectral/mfcc.h: new set_scale, set_power, set_norm, set_mel_coeffs,	set_mel_coeffs_htk, set_mel_coeffs_slaney	* src/mathutils.h: new fvec_mul	* src/notes: new option release_drop to prevent missing note-offs (gh-203) 	[ Python module ] 	* fix: rounding to nearest integer in midi2note and freq2note	* general: supports code generation of setters with none or multiple	parameters	* documentation: add docstrings do fvec, cvec, source, sink, pvoc, frequency	conversion and level detection routines (gh-73, debian #480018)	* slicing: improve and document slice_source_at_stamps	* module: new note2freq function, recover error log when raising exceptions	on failed set_ methods, prevent cyclic import, coding style improvements	* demos: improve coding style, fix bpm_extract arguments	* MANIFEST.in: exclude *.pyc, improve patterns 	[ Documentation ] 	* doc/: use sphinx autodoc to load docstrings from aubio module, reorganize	python module documentation, add a note about double precision, use https	when possible	* src/spectral/: update Auditory Toolbox url, update copyright year 	[ Tools ] 	* aubionotes: add --release-drop option	* aubio: add --release-drop and --silence options to `aubio notes`,	workaround for -V to really show version (py2)	* aubiocut: add option --create-first to always create first slice 	[ Tests ] 	* tests/, python/tests: add tests for new methods, check source channel	down-mix, improve coverage 	[ Build system ] 	* Makefile: disable docs when measuring coverage, add branch coverage	option, add coverage_zero_counters target, improve html report	* waf: update to 2.0.12, improve wscript style, prevent shipping some	generated files	* python: always show compiler warnings when pre-processing headers,	workaround to fix code generation for win-amd64 (gh-154, gh-199, gh-208).	* continuous integration: add azure pipelines, update and improve	configurations for appveyor, circleci, and travis. 2018-09-22 Paul Brossier <piem@aubio.org> 	[ Overview ] 	* VERSION: bump to 0.4.7	* src/spectral/dct.h: add dct type II object with optimised versions	* src/io/, src/notes/, src/pitch: prevent crashes on corrupted files	* examples/: fix jack midi output, improve messages when jack disabled	* python/: add dct support, minor bug fixes tests and demos	* wscript: improve support for BLAS/ATLAS 	[ Library fixes ] 	* src/pitch/pitchyinfft.c: fix out of bound read when samplerate > 50kHz	thanks to @fCorleone (closes #189, CVE-2018-14523, debian #904906)	* src/notes/notes.c: bail out if pitch creation failed (see #188)	* src/io/source_wavread.c:	 - also exit if samplerate is negative (closes #188, CVE-2018-14522,	 debian #904907)	 - add some input validation (closes #148 and #158, CVE-2017-17054,	 debian #883355)	* src/io/source_avcodec.c:	 - give up if resampling context failed opening (see #137, closes #187,	 CVE-2018-14521, debian #904908)	 - give up reading file if number of channel changes during stream (closes	 #137, CVE-2017-17554, debian #884237)	 - make sure libavutil > 52 before checking avFrame->channels (see #137)	 - fix build with ffmpeg 4.0, thanks to @jcowgill (closes #168, #173)	 - avoid deprecated call for ffmpeg >= 4.0	* src/onset/onset.c: add dummy default parameters for wphase (closes #150) 	[ Tools ] 	* examples/parse_args.h: hide jack options if not available, improve error	message (closes #182)	* examples/utils.h: process_block returns void	* examples/utils.c: fix examples failing to send more than one JACK midi	event per frame, thanks to @cyclopsian (closes #201) 	[ New features ] 	* src/spectral/dct.h: add dct type II object with implementation factory	* src/spectral/dct_plain.c: add plain dct implementation	* src/spectral/dct_ooura.c: add ooura implementation	* src/spectral/dct_fftw.c: add fftw implementation	* src/spectral/dct_ipp.c: add ipp version	* src/spectral/dct_accelerate.c: add vdsp/accelerate dct	* tests/src/spectral/test-dct.c: check reconstruction works	* src/spectral/mfcc.c: use new dct to compute mfcc 	[ Library internals ] 	* src/aubio_priv.h: avoid hard-coded undefs, split BLAS and ATLAS support,	add vdsp scalar add and multiply 	[ Build system ] 	* wscript:	 - add options to disable examples and tests	 - detect includes for openblas/libblas/atlas	* scripts/get_waf.sh: bump to 2.0.11, verify signature if gpg available	* python/lib/gen_external.py: pass '-x c' to emcc only 	[ Python ] 	* python/lib/gen_code.py: add support for rdo methods	* python/tests/test_dct.py: add tests for new dct	* python/demos/demo_pitch_sinusoid.py: use // to yield an integer, fixing	demo on py3, thanks to @ancorcruz (closes #176)	* python/ext/py-musicutils.*: add shift(fvec) and ishift(fvec)	* python/tests/test_fvec_shift.py: add tests for shift() and ishift()	* python/lib/aubio/cmd.py: fix typo in comment 	[ Documentation ] 	* README.md, doc/statuslinks.rst: use latest for commits-since	* examples/parse_args.h: add yinfast to pitch algorithms	* doc/requirements.rst: add some blas documentation	* doc/requirements.rst: split media/optimisation libraries	* doc/develop.rst: fixed spelling error, thanks to Jon Williams (closes #161)	* doc/aubio{pitch,notes}.txt: add yinfast to list of pitch methods 	[ Continuous integration ] 	* .travis.yml: remove xcode8.2 builds, group osx, add alias pip=pip2	* .appveyor.yml: upgrade pip first, always use python -m pip 2017-10-02 Paul Brossier <piem@aubio.org> 	[ Overview ] 	* VERSION: bump to 0.4.6	* src/spectral/fft.c, src/*.c: add support for Intel IPP (many thanks to	Eduard Mueller)	* wscript: add support for emscripten (thanks to Martin Hermant)	* src/pitch/pitchyinfast.h: new fast method to compute YIN algorithm	* src/pitch/pitchyin*.c: improve confidence measure, making sure its value	corresponds to the selected period (thanks to Eduard Mueller)	* python/lib/aubio/cmd.py: add `quiet`, `cut`, and `help` subcommands 	[ Library ] 	* src/aubio_priv.h: add missing aubio_vDSP_vclr (Eduard Mueller)	* src/io/source_avcodec.c: improve error message, prevent un-opened bracket,	no declaration after statements for older compilers, avoid unused variable	* src/mathutils.c: prevent segfault with Accelerate.framework (closes #58,	closes #102)	* src/spectral/phasevoc.h: add aubio_pvoc_set_window to change the windowing	function	* src/mathutils.c: add window type `ones` (no windowing) 	[ Python ] 	* python/demos/demo_tapthebeat.py: add a real-time example to play beats	using pyaudio	* python/lib/gen_external.py: improve parsing and syntax, use results in	emscripten build (Martin Hermant)	* python/lib/aubio/cmd.py: add option `-u` to `aubio pitch`, improve error	messages, add `quiet` subcommand (closes #124), improve syntax, add some	documentation, add `cut` and `help` subcommand, add silence and time format	options	* python/lib/aubio/cut.py: upgrade to argparse, set samplerate as needed	* python/demos/demo_yin_compare.py: add comparison of yin implementations	* python/demos/demo_wav2midi.py: add an example to create a midi from a	sound file using mido (closes: #134)	* python/demos/demo_bpm_extract.py: use argparse, use beats_to_bpm function	* python/ext/py-cvec.c: fix support for pypy by changing setters to return a	negative value on error (closes #17) 	[ Documentation ] 	* src/tempo/beattracking.h: fix typo (thanks to Hannes Fritz)	* doc/requirements.rst: fix broken link (thanks to @ssj71, closes #99)	* doc/aubiomfcc.txt: fix typo in 'coefficients' 	[ Tests ] 	* python/tests/tests_aubio_{cmd,cut}.py: add basic tests	* python/tests/test_filterbank*.py: ignore UserWarnings, clean-up,	improve get_coeff tests 	[ Build system ] 	* wscript: add support for emscripten, see scripts/build_emscripten	* scripts/get_waf.sh: update waf to 2.0.1, build waf from source tarball	* scripts/build_emscripten: update to build aubio.js	* Makefile: add coverage and coverage_report targets, run tests once 	[ Continuous integration ] 	* .travis.yml: add coverage report on osx	* .appveyor.yml: use msvc 14.0 (VS 2015) and scripts/get_waf.sh	* .coveragerc: add minimal python coverage configuration 2017-04-10 Paul Brossier <piem@aubio.org> 	[Overview] 	* VERSION: bump to 0.4.5	* src/io/source_avcodec.c: add support for libswresample	* aubio: new python command line tool to extract information	* src/onset/onset.c: add spectral whitening and compression, improve default	parameters	* this_version.py: use centralized script to get current version, adding git	sha when building from git repo (thanks to MartinHN) 	[Interface] 	* src/spectral/awhithening.h: add adaptive whitening	* src/{cvec,mathutils,musicutils}.h: add cvec_logmag, fvec_logmag, and fvec_push	* src/onset/onset.h: add aubio_onset_set_default_parameters to load optimal	parameters of each novelty function, _{set,get}_compression and	_{set,get}_awhitening to turn on/off compression and adaptive whitening	* src/spectral/specdesc.h: add weighted phase 	[Library] 	* src/onset/onset.c: improve default onset parameters (thanks to @superbock	for access to his evaluation database), see commit dccfad2 for more details	* src/pitch/pitch.c: avoid segfault when using invalid parameters	* src/temporal/biquad.c: fix biquad parameters initialization (thanks to	@jurlhardt) 	[Tools] 	* examples/aubio{onset,track}.c: add options --miditap-note and	--miditap-velo to set which midi note is triggered at onset/beat (thanks to	@tseaver)	* examples/aubioonset.c: show actual parameters in verbose mode	* examples/utils.c: improve memory usage to emit midi notes 	[Python] 	* python/ext/py-source.c: add with (PEP 343) and iter (PEP 234) interface	* python/ext/py-sink.c: add with interface (PEP 343)	* python/lib/aubio/cmd.py: new `aubio` command line tool	* python/lib/aubio/cut.py: moved from python/scripts/aubiocut 	[Documentation] 	* doc/*.rst: reorganize and improve sphinx manual	* doc/*.txt: update manpages, add simple manpage for aubio command line	* doc/full.cfg: derive from doc/web.cfg	* README.md: simplify and add contribute information 	[Build system] 	* wscript: prefer libswresample over libavsamplerate when available, use	current version in manpages, doxygen, and sphinx, update to newest waf	* setup.py: use entry_points console_scripts to generate scripts, use	centralized version from this_version.py, clean up	* python/lib/moresetuptools.py: detect if libswresample is available 2017-01-08 Paul Brossier <piem@aubio.org> 	[ Overview ] 	* VERSION: bump to 0.4.4	* src/utils/log.h: new function to redirect log, error, and warnings	* python/: AUBIO_ERR raises python exception, AUBIO_WRN to emit py warning	* doc/: add some documentation, fix errors in manpages	* wscript: new rules to build 'manpages', 'doxygen', and 'sphinx', new	--build-type=<release|debug> option (thanks to Eduard Mueller)	* src/notes/notes.h: add minioi and silence methods	* examples/: add --minioi (minimum inter-onset interval) option	* src/pitch/pitchyin.c: improve msvc compiler optimisations (thanks to	Eduard Mueller)	* python/, src/: improve error messages, fix minor memory leaks	* src/io/source_avcodec.c: improve compatibility with latest ffmpeg and with	older libav/ffmpeg versions	* python/demos/: new demos to capture microphone in real time 	[ Interface] 	* src/aubio.h: include utils/log.h	* src/utils/log.h: add new aubio_log_set_function to redirect log messages	* src/notes/notes.h: add aubio_notes_{get,set}_minioi_ms, add	_{get,set}_silence methods 	[ Library ] 	* src/aubio_priv.h: add AUBIO_INF to print to stdout with header, use new	logging function, add ATAN alias, add stdarg.h, move #include "config.h"	* src/{fmat,fvec}.c: avoid integer division	* src/pitch/pitchyin.c: [msvc] help compiler to optimize aubio_pitchyin_do	by giving it addresses for all arrays which are referenced in inner loops,	thanks to Eduard Mueller.	* src/pitch/pitch.c: declare internal functions as static, fail on wrong	method, warn on wrong unit, improve error messages, fix error string	* src/spectral/specdesc.c: return NULL if wrong mode asked, remove trailing	spaces	* src/onset/onset.c: return null and clean-up if new_aubio_specdesc failed,	fix error message	* src/notes/notes.c: use midi note to store pitch candidate, round to	nearest note, add a variable to define precision, fix out-of-bound write,	fix unset silence_threshold, fix error message	* src/spectral/ooura_fft8g.c: add cast to avoid conversion warnings, prefix	public function with aubio_ooura_ to avoid with other apps using ooura (e.g.	puredata), make internal functions static,	* src/spectral/fft.c: add message about fftw3 being able to do non-power of	two sizes, make calls to fftw_destroy_plan thread-safe, use prefixed	aubio_ooura_rdft	* src/spectral/phasevoc.c: fix error string	* src/temporal/resampler.c: throw an error when using libsamplerate with doubles	* src/io/ioutils.h: add functions to check samplerate and channels, use in sink_*.c	* src/io/source.c: add error message when aubio was compiled with no source,	only show error message from last child source_	* src/io/source_avcodec.c: call avformat_free_context after	avformat_close_input, keep a reference to packet to remove it when closing	file, avoid deprecation warnings with ffmpeg 3.2, add backward compatibility	for libavcodec55, fix for old libavcodec54, use AV_SAMPLE_FMT_DBL when	compiling with HAVE_AUBIO_DOUBLE, fix missing samples in eof block, avoid	function calls before declarations, improve error messages, replace with new	context before closing old one, make sure s->path is set to null	* src/io/{source_wavread,sink_wavwrite}.c: declare internal functions as static	* src/io/source_wavread.c: fix bytes_read for JUNK headers, improve error	messages, initialize buffer, skip chunks until data is found, or abort, skip	junk chunk	* src/io/source_sndfile.c: add support for multi-channel resampling, set	handle to null after sucessful close, add missing floor in ratio comparison,	improve formatting	* src/io/sink.c: only show error message from last child sink_	* src/io/sink_apple_audio.c: avoid crash on empty file name	* src/io/sink_sndfile.c: improve error message	* src/io/sink_{sndfile,wavwrite}.c: use AUBIO_MAX_CHANNELS, fix error message 	[ Documentation ] 	* README.md: update copyright dates, use https	* src/aubio.h: add some links to examples, use https	* src/pitch/pitch.h: add aubio_pitch_get_tolerance, add basic description of	unit modes	* src/notes/notes.h: add doxygen header	* src/spectral/fft.h: strip example path	* doc/*.rst: improve sphinx documentation	* doc/android.rst: add reference to it scripts/build_android	* doc/debian_packages.rst: added page on debian packages	* doc/python_module.rst: add demo_source_simple.py, add note on pip, add	`print(aubio.version)`	* doc/cli.rst: include command line manpages	* doc/cli_features.rst: add matrix of command line features	* doc/requirements.rst: add a note about --notests (closes #77), document	--msvc options, improve description of options	* doc/download.rst: added page on download	* doc/installing.rst: update	* doc/xcode_frameworks.rst: added page on xcode frameworks	* doc/**: use https://aubio.org	* doc/conf.py: use pyramid theme, update copyright, remove hardcoded path	* doc/web.cfg: exclude ioutils from doc	* doc/aubionotes.txt: document -M option (see #18),	* doc/aubioonset.txt: add documentation for -M, --minioi, improve threshold	description (thanks to Peter Parker), fix typo (onset, not pitch)	* doc/aubio*.txt: document -T/--timeformat option 	[ Build ] 	* Makefile: add a brief intro, avoid offline operations, add html and dist	targets, add rules for documentation, simplify listing, avoid offline	operations, bump waf to 1.9.6, check for waf before clean, chmod go-w	waflib, improve clean, use pip to install, factorise pip options, generate	more test sounds, improve test_python and test_pure_python, pass build_ext	in test_pure_python{,_wheel}, quieten uninstall_python if already	uninstalled, improve test targets, use bdist_wheel in test_pure_python,	build_ext only for --enable-double, verbose waf rules, add cleanwaf	* wscript: added debug/release build type configurations release (default)	enables optimizations, debug symbols are enabled in both configurations,	thanks to Eduard Mueller.	* wscript: add options to disable source_wavread/sink_wavwrite, add check	for stdarg.h, new rules 'manpages', 'sphinx', and 'doxygen' to build	documentation, add version to sphinx and manpages, disable libsamplerate	if double precision enabled (libsamplerate only supports float), fix typos,	remove trailing spaces, improve tarball creation (./waf dist), remove	full.cfg from tarball, prepend to CFLAGS to honor user cflags	* wscript, src/wscript_build: improve install locations using DATAROOTDIR,	MANDIR, INCLUDEDIR	* wscript: default to no atlas for now	* src/wscript_build: always build static library	* scripts/build_android: add an example script to build aubio on android, 	[ Tools ] 	* examples/aubionotes.c: use new notes, set minioi, send last note off when	needed, add warning for missing options	* examples/aubioonset.c: add minioi option, in seconds

Lines 1–500 of 1191.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t