All notable changes to pyroomacoustics will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- New algorithm for blind source separation (BSS): Sparse Independent Vector Analysis (SparseAuxIVA)
- Remove np.squeeze in STFT as it caused errors when an axis that shouldn't be squeezed was equal to 1.
- Beamformer.process was using old (non-existent) STFT function. Changed to using one-shot function from transform module.
`0.1.21`_ - 2018-12-20
- Adds several options to
pyroomacoustics.room.Room.simulate
to finely control the SNR of the microphone signals and also return the microphone signals with individual sources, prior to mix (useful for BSS evaluation) - Add subspace denoising approach in
pyroomacoustics.denoise.subspace
. - Add iterative Wiener filtering approach for single channel denoising in
pyroomacoustics.denoise.iterative_wiener
.
- Add build instructions for python 3.7 and wheels for Mac OS X in the continuous integration (Travis and Appveyor)
- Limits imports of matplotlib to within plotting functions so that the matplotlib backend can still be changed, even after importing pyroomacoustics
- Better Vectorization of the computations in
pyroomacoustics.bss.auxiva
- Corrects a bug that causes different behavior whether sources are provided to the constructor of
Room
or to theadd_source
method - Corrects a typo in
pyroomacoustics.SoundSource.add_signal
- Corrects a bug in the update of the demixing matrix in
pyroomacoustics.bss.auxiva
- Corrects invalid memory access in the
pyroomacoustics.build_rir
cython accelerator and adds a unit test that checks the cython code output is correct - Fix bad handling of 1D b vectors in
`pyroomacoustics.levinson
.
`0.1.20`_ - 2018-10-04
- STFT tutorial and demo notebook.
- New algorithm for blind source separation (BSS): Independent Low-Rank Matrix Analysis (ILRMA)
- Matplotlib is not a hard requirement anymore. When matplotlib is not installed, only a warning is issued on plotting commands. This is useful to run pyroomacoustics on headless servers that might not have matplotlib installed
- Removed dependencies on
joblib
andrequests
packages - Apply
matplotlib.pyplot.tight_layout
inpyroomacoustics.Room.plot_rir
- Monaural signals are now properly handled in one-shot stft/istft
- Corrected check of size of absorption coefficients list in
Room.from_corners
0.1.19 - 2018-09-24
- Added noise reduction sub-package
denoise
with spectral subtraction class and example. - Renamed
realtime
totransform
and added deprecation warning. - Added a cython function to efficiently compute the fractional delays in the room impulse response from time delays and attenuations
- notebooks folder.
- Demo IPython notebook (with WAV files) of several features of the package.
- Wrapper for Google's Speech Command Dataset and an example usage script in
examples
. - Lots of new features in the
pyroomacoustics.realtime
subpackage- The
STFT
class can now be used both for frame-by-frame processing or for bulk processing - The functionality will replace the methods
pyroomacoustics.stft
,pyroomacoustics.istft
,pyroomacoustics.overlap_add
, etc, - The new function
pyroomacoustics.realtime.compute_synthesis_window
computes the optimal synthesis window given an analysis window and the frame shift - Extensive tests for the
pyroomacoustics.realtime
module - Convenience functions
pyroomacoustics.realtime.analysis
andpyroomacoustics.realtime.synthesis
with an interface similar topyroomacoustics.stft
andpyroomacoustics.istft
(which are now deprecated and will disappear soon) - The ordering of axis in the output from bulk STFT is now
(n_frames, n_frequencies, n_channels)
- Support for Intel's
mkl_fft
package axis
(along which to perform DFT) andbits
parameters forDFT
class.
- The
- Improved documentation and docstrings
- Using now the built-in RIR generator in examples/doa_algorithms.py
- Improved the download/uncompress function for large datasets
- Dusted the code for plotting on the sphere in
pyroomacoustics.doa.grid.GridSphere
- The methods
pyroomacoustics.stft
,pyroomacoustics.istft
,pyroomacoustics.overlap_add
, etc, are now deprecated and will be removed in the near future
0.1.18 - 2018-04-24
- Added AuxIVA (independent vector analysis) to
bss
subpackage. - Added BSS IVA example
- Moved Trinicon blind source separation algorithm to
bss
subpackage.
- Correct a bug that causes 1st order sources to be generated for max_order==0 in pure python code
0.1.17 - 2018-03-23
- Fixed issue #22 on github. Added INCREF before returning Py_None in C extension.
0.1.16 - 2018-03-06
- Base classes for Dataset and Sample in
pyroomacoustics.datasets
- Methods to filter datasets according to the metadata of samples
- Deprecation warning for the TimitCorpus interface
- Add list of speakers and sentences from CMU ARCTIC
- CMUArcticDatabase basedir is now the top directory where CMU_ARCTIC database should be saved. Not the directory above as it previously was.
- Libroom C extension is now a proper package. It can be imported.
- Libroom C extension now compiles on windows with python>=3.5.
0.1.15 - 2018-02-23
- Added
pyroomacoustics.datasets
to list of sub-packages insetup.py
0.1.14 - 2018-02-20
- Changelog
- CMU ARCTIC corpus wrapper in
pyroomacoustics.datasets
- Moved TIMIT corpus wrapper from
pyroomacoustics.recognition
module to sub-packagepyroomacoustics.datasets.timit