| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python3-audiolazy | Distribution: SUSE Linux Enterprise 15 SP5 |
| Version: 0.6 | Vendor: openSUSE |
| Release: bp155.2.10 | Build date: Mon May 22 11:55:17 2023 |
| Group: Development/Languages/Python | Build host: hci-snode2-m0 |
| Size: 908041 | Source RPM: python-audiolazy-0.6-bp155.2.10.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: http://github.com/danilobellini/audiolazy | |
| Summary: Real-Time Expressive Digital Signal Processing (DSP) Package for Python! | |
AudioLazy is a package written in pure Python proposing digital audio signal processing (DSP). It prioritizes code expressiveness, clarity and simplicity, without precluding the lazy evaluation, and can be used together with Numpy, Scipy and Matplotlib as well as default Python structures like lists and generators. It also features: - A ``Stream`` class for finite and endless signals representation with elementwise operators (auto-broadcast with non-iterables) in a common Python iterable container accepting heterogeneous data; - Strongly sample-based representation (Stream class) with easy conversion to block representation using the ``Stream.blocks(size, hop)`` method; - Sample-based interactive processing with ``ControlStream``; - ``Streamix`` mixer for iterables given their starting time deltas; - Multi-thread audio I/O integration with PyAudio; - Linear filtering with Z-transform filters directly as equations (e.g. ``filt = 1 / (1 - .3 * z ** -1)``), including linear time variant filters (i.e., the ``a`` in ``a * z ** k`` can be a Stream instance), cascade filters (behaves as a list of filters), resonators, etc.. Each ``LinearFilter`` instance is compiled just in time when called; - Zeros and poles plots and frequency response plotting integration with MatPlotLib; - Linear Predictive Coding (LPC) directly to ``ZFilter`` instances, from which you can find PARCOR coeffs and LSFs; - Both sample-based (e.g., zero-cross rate, envelope, moving average, clipping, unwrapping) and block-based (e.g., window functions, DFT, autocorrelation, lag matrix) analysis and processing tools; - A simple synthesizer (Table lookup, Karplus-Strong) with processing tools (Linear ADSR envelope, fade in/out, fixed duration line stream) and basic wave data generation (sinusoid, white noise, impulse); - Biological auditory periphery modeling (ERB and gammatone filter models); - Multiple implementation organization as ``StrategyDict`` instances: callable dictionaries that allows the same name to have several different implementations (e.g. ``erb``, ``gammatone``, ``lowpass``, ``resonator``, ``lpc``, ``window``); - Converters among MIDI pitch numbers, strings like "F#4" and frequencies; - Polynomials, Stream-based functions from itertools, math, cmath, and more! Go try yourself! =)
GPL-3.0-only
* Tue Dec 04 2018 Matej Cepl <mcepl@suse.com>
- Remove superfluous devel dependency for noarch package
* Thu Jun 07 2018 jengelh@inai.de
- Start the description with a main clause, not
some lengthy subclause.
* Wed Oct 18 2017 toddrme2178@gmail.com
- 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 ``_internals.py`` module to avoid exposing package internals together
with the API, which also allowed the new simplified ``__init__.py``
* Renewed setup.py 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 ``conftest.py`` 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``)
* ``AudioIO.open`` 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 Poly.zero 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 toddrme2178@gmail.com
- Fix files list
* Mon Jul 14 2014 toddrme2178@gmail.com
- - Initial version
/usr/lib/python3.6/site-packages/audiolazy /usr/lib/python3.6/site-packages/audiolazy-0.6-py3.6.egg-info /usr/lib/python3.6/site-packages/audiolazy-0.6-py3.6.egg-info/PKG-INFO /usr/lib/python3.6/site-packages/audiolazy-0.6-py3.6.egg-info/SOURCES.txt /usr/lib/python3.6/site-packages/audiolazy-0.6-py3.6.egg-info/dependency_links.txt /usr/lib/python3.6/site-packages/audiolazy-0.6-py3.6.egg-info/top_level.txt /usr/lib/python3.6/site-packages/audiolazy/__init__.py /usr/lib/python3.6/site-packages/audiolazy/__pycache__ /usr/lib/python3.6/site-packages/audiolazy/__pycache__/__init__.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/__init__.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/_internals.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/_internals.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_analysis.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_analysis.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_auditory.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_auditory.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_compat.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_compat.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_core.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_core.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_filters.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_filters.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_io.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_io.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_itertools.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_itertools.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_lpc.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_lpc.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_math.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_math.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_midi.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_midi.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_misc.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_misc.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_poly.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_poly.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_stream.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_stream.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_synth.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_synth.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_text.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_text.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_wav.cpython-36.opt-1.pyc /usr/lib/python3.6/site-packages/audiolazy/__pycache__/lazy_wav.cpython-36.pyc /usr/lib/python3.6/site-packages/audiolazy/_internals.py /usr/lib/python3.6/site-packages/audiolazy/lazy_analysis.py /usr/lib/python3.6/site-packages/audiolazy/lazy_auditory.py /usr/lib/python3.6/site-packages/audiolazy/lazy_compat.py /usr/lib/python3.6/site-packages/audiolazy/lazy_core.py /usr/lib/python3.6/site-packages/audiolazy/lazy_filters.py /usr/lib/python3.6/site-packages/audiolazy/lazy_io.py /usr/lib/python3.6/site-packages/audiolazy/lazy_itertools.py /usr/lib/python3.6/site-packages/audiolazy/lazy_lpc.py /usr/lib/python3.6/site-packages/audiolazy/lazy_math.py /usr/lib/python3.6/site-packages/audiolazy/lazy_midi.py /usr/lib/python3.6/site-packages/audiolazy/lazy_misc.py /usr/lib/python3.6/site-packages/audiolazy/lazy_poly.py /usr/lib/python3.6/site-packages/audiolazy/lazy_stream.py /usr/lib/python3.6/site-packages/audiolazy/lazy_synth.py /usr/lib/python3.6/site-packages/audiolazy/lazy_text.py /usr/lib/python3.6/site-packages/audiolazy/lazy_wav.py /usr/share/doc/packages/python3-audiolazy /usr/share/doc/packages/python3-audiolazy/CHANGES.rst /usr/share/doc/packages/python3-audiolazy/README.rst /usr/share/licenses/python3-audiolazy /usr/share/licenses/python3-audiolazy/COPYING.txt
Generated by rpm2html 1.8.1
Fabrice Bellet, Mon Feb 9 16:24:48 2026