Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP3





Change Logs

Version: 0.6-bp151.1.3
* Tue Dec 04 2018 Matej Cepl <>
- Remove superfluous devel dependency for noarch package
* Thu Jun 07 2018
- Start the description with a main clause, not
  some lengthy subclause.
* Wed Oct 18 2017
- Implement single-spec version
- Update to Version 0.6
  + examples:
  * Formant synthesis for voiced "ah-eh-ee-oh-oo"
  * Musical keyboard synth example with a QWERTY keyboard (also via jack!)
  * Random synthesis with saving and memoization
  * Aesthetics for the Tkinter GUI examples
  * Matplotlib animated plot with mic input data (also works via jack!)
  * Perceptual experiment with butterworth filters (Scipy) applied to white
    noise (based on the Demonstrations to Auditory Scene Analysis)
  * Psychoacoustics using ISO/FDIS 226:2003
    > Equal loudness contour curves plotting
    > Constant phon chirp playing
  * Partial recreation of the "Windows and Figures of Merit" F. Harris
    comparison table and window plots
  * Playing/synthesizing "Ode to Joy" from its "score" written as code
  * All recording/playback examples now prepared for using both the default
    API and receiving it as an argument like "jack" or "alsa"
  * Realtime STFT (Short Time Fourier Transform) effects:
    > Robotize
    > "Roll" the magnitude spectrum while keeping the phase
  + general:
  * Tox for testing with CPython 2.7, CPython 3.2~3.6 and PyPy
  * Continuous integration wih Travis CI and Coveralls
  * New ```` module to avoid exposing package internals together
    with the API, which also allowed the new simplified ````
  * Renewed in both its internals (e.g. using AST instead of
    string manipulation to avoid importing the package before installation)
    and its interface (e.g. the ``test`` command now calls ``tox``)
  * New ```` for testing doctests from strategies inside
    StrategyDict instances without the need of a ``__test__`` in the module
    and for skipping doctests known to need Numpy when it's not available
  * New ``math`` directory for adding scripts with symbolic math calculations
    (with Sympy) done for designing (or as a proof) for parts of the
    AudioLazy code. All lowpass and highpass strategies have their design
    explicitly explained there
  + lazy_analysis:
  * New ``overlap_add`` StrategyDict instance, allowing resynth after block
    processing/analysis, featuring block size auto-detection and window
    normalization to keep the output in the [-1; 1] range. Has 2
    implementations keeping the same interface:
    > ``numpy`` (*default*): needs Numpy arrays internally
    > ``list``: uses lists instead, doesn't need Numpy and was tested on Pypy
  * New ``stft`` StrategyDict instance, allowing Short Time Fourier Transform
    block processors / phase vocoder by:
    > Passing a function as the first parameter
    > Using a ``stft`` strategies as a decorator
    > Creating new strategies by avoiding the only positional parameter
    It was created with three Numpy-based strategies:
    > ``rfft``, ``real`` or ``base`` (*default*): needs ``numpy.fft.rfft``
    internally, as well as its inverse, to process a block in the
    frequency domain with values up to the Nyquist frequency, by assuming
    the input signal is real
    > ``cfft`` or ``complex``: Alike to the default approach but uses the
    ``numpy.fft.fft`` for a full complex-valued block in frequency domain,
    which means the output is a complex signal
    > ``cfftr`` or ``complex_real``: same to ``stft.cfft`` strategy, but
    keeps only the real part of the result
    Parameters allows changing the default zero-phase behavior (``before``
    and ``after`` functions), the transform and inverse transform functions,
    the overlap-add strategy (as well as its parameters), and obviously the
    block size and hop
  * The ``window`` StrategyDict now returns the "periodic" window data
    instead of the "symmetric" window to be used with the STFT directly
  * New ``wsymm`` StrategyDict with the same strategies from ``window`` but
    returning a "symmetric" window
  * Default ``window`` strategy is the Hann window (the same for ``wsymm``)
  * New ``cos`` strategy for ``window`` and ``wsymm`` implementing cosine to
    the power of alpha
  + lazy_auditory:
  * New ``phon2dB`` StrategyDict instance with the ISO/FDIS 226:2003 model
    for getting a SPL (Sound Pressure Level) in dBs from a phon value
  + lazy_core:
  * Add support to the new ``@`` matrix multiplication operator
  * ``OpMethod.get()`` now accepts numbers ``"1"`` and ``"2"`` as strings for
    unary and binary query for operators, and ``"all"`` is the new default, so
    ``OpMethod.get(without="2 ~")`` would get all operators but the [reversed
    or not] binary ones and the invert operator, which means it would yield
    only the unary ``"+"`` (pos) and ``-`` (neg), as probably was expected;
    OpMethod also had a bug fix regarding the shift operators
  * Strategy name autocomplete works on IPython since StrategyDict now
    changes its instance dictionary (e.g. ``vars(window)``) instead of
    depending on the ``__getattr__`` method
  * ``StrategyDict.strategy`` method now allows the strategy function name to
    be kept by using the new ``keep_name`` keyword-only argument. It might be
    helpful for adding built-in functions as well as other immutable
    callables as multi-name strategies with the same behavior as the item
    assignment for adding a strategy
  * The default strategy in a StrategyDict instance is now removed when all
    its keys/names are removed. The new default is the next added strategy
  * Strategies can be removed both by their item name and their attribute,
    and removing an attribute that isn't an strategy recovers the strategy
    attribute if its name belongs to a strategy
  * MultiKeyDict methods ``key2keys`` and ``value2keys`` to help getting a
    tuple with all keys that points to the same value, ordered by the
    insertion order
  + lazy_filters:
  * LinearFilter coefficients can now be a Stream of Numpy matrices, as well
    as Sympy symbols (including symbolic matrices).
  * New simple lowpass/highpass IIR filter strategies:
    > ``highpass.z`` (taken as the new ``highpass`` default)
    > ``lowpass.z``
    > ``highpass.pole_exp``
    > ``highpass.z_exp``
    > ``lowpass.z_exp``
    Where the ``"z"`` name denotes the presence of a single zero (besides the
    single pole) and ``"_exp"`` denotes the exponential approximation from
    a matched Z-Transform pole value from the equivalent or mirrored analog
    filter equation (Laplace). The absence of such suffix denotes it was
    designed directly as a digital filter.
  + lazy_io:
  * New ``api`` keyword argument for AudioIO, allowing e.g. integration with
    JACK (for now this needs ``chunks.size = 1``)
  * ```` and ``AudioIO.record`` now allows keyword arguments, to
    be passed directly to PyAudio, including the now default "channels"
    keyword (old "nchannels" keyword still works, for backward compatibility)
  + lazy_math:
  * Signal function ``sign`` now works on Python 3
  + lazy_misc:
  * New ``cached`` decorator caching the results for a function without
    keyword arguments
  + lazy_poly:
  * Complex numbers and Sympy symbols can now be used as Poly powers
  * Poly instances are now based on OrderedDict (stores the creation order
    internally) and Poly.terms now support both a ``sort`` and a ``reverse``
    keyword arguments to choose the yielding order (sorted by powers, keep
    creation order or reverse any of these)
  * Immutable Poly behavior is now based on a cached frozenset (doesn't depend
    on the terms order) and includes as a read-only property (after
    the hash is required)
  * The Horner-like polynomial evaluation scheme (which needs sorting) is now
    enabled/disabled via a keyword argument. By default, it's enabled just for
    simple polynomials, but optional when powers are sortable (e.g. in a
    Laurent polynomial)
  + lazy_text:
  * New ``format_docstring`` decorator that use format-style templates to
    assign docstrings to functions, intended to avoid docstring copies on
    StrategyDict instances.
  + lazy_wav (*new!*):
  * ``WavStream`` class for opening Wave files. Can load 24-bit audio files!
    Tested with 8 bits files (unsigned int) and 16/24/32 bits (signed int)
    mono and stereo files, both casting the data to a float in [-1;1) interval
    (default) and keeping the original integer data as it is
  + multiple modules:
  * (*lazy_math and lazy_stream*) Renamed the elementwised ``abs`` to
    ``absolute``, so no Python built-in name is ever replaced when importing
    with ``from audiolazy import *``. Also, the built-in ``abs`` now can be
    used directly with Stream instances
  * (*lazy_analysis and lazy_misc*) Renamed ``freq2lag`` and ``lag2freq`` to
    use ``2`` instead of ``_to_``, and moved them to lazy_misc
* Thu May 21 2015
- Fix files list
* Mon Jul 14 2014
- - Initial version