[Release] Pyo 1.0.0 (Python dsp library)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Release] Pyo 1.0.0 (Python dsp library)

Olivier Bélanger
Hello all,

After almost a year of hard work, I'm very glad to announce the release of
pyo 1.0.0,
available for python 2.7, 3.5, 3.6 and 3.7.

Pyo is a Python module written in C to help real-time digital signal
processing
script creation. It provides a complete set of classes to build audio
softwares,
compose algorithmic musics or simply explore audio processing.It is
available for
Windows, macOS and linux. It is released under the LGPL 3 license.

Official web site: http://ajaxsoundstudio.com/software/pyo/

pyo's documentation: http://ajaxsoundstudio.com/pyodoc/

Latest sources and bug tracker: https://github.com/belangeo/pyo

The main change in this release is the installation process. The package is
now
uploaded to pypi.org and can be installed (for 32-bit or 64-bit) under
MacOS,
Windows and linux  with pip. Just run the command:

    python -m pip install pyo

For all the details and how to uninstall version prior to 1.0.0, see this
page
in the documentation:

http://ajaxsoundstudio.com/pyodoc/download.html


Bug Fixes:

- Fixed phase of sawtooth and ramp waveforms in the LFO object.
- Embedded: Fixed crash on first load when embedding pyo in a juce plugin.
- Embedded: Remove the wx import before importing pyo to prevent a crash on
MacOS.
- Embedded: Added a BPM variable in the embedded interpreter and a function
in
  PyoClass to change it according to the BPM of a DAW, for instance.
- Embedded: Better handling of bad code when reading file in embedded pyo.
- Fixed bug in OscDataSend.addAddress().
- Fixed BPF tables (LinTable, ExpTable, ...) memory allocation corruption.
- Fixed SIGSEGV when multiplying a plain number and a base object.
- Jack audio backend does not ignore duplex value anymore.

New features:

- Added PYO_SERVER_MIDI and PYO_SERVER_WINHOST environment variables to set
  default values for the audio server (user can also define
PYO_SERVER_AUDIO).
- Added one-sample delay function and sr constant to the Expr api.
- Added complex numbers (and complex one-pole/one-zero filters) to the Expr
API.
- Added a new object: PyoGuiKeyboard, a virtual MIDI keyboard.
- Added keyboard() method to the Notein object (opens a virtual midi
keyboard).
- Added computer keyboard bindings when the Notein's keyboard widget has
the focus.
- Added a getPyoExamples() function and changed example function to be able
to
  execute one of the example.
- Added a new object: SVF2, a 2-pole state variable filter with many filter
types.
- Added two arithmetic objects: Div and Sub.
- CallAfter's time and arg arguments can be changed dynamically.
- Fader and Adsr now send a trigger at the end of the envelope.
- Added a clear() method to Linseg and Expseg objects.

EPyo:

- Fixed crash when trying to read a faulty preferences file.
- Added auto complete for cpp file (from corresponding header file).
- Added a 'Reload Current File' menu command.
- Added zoomin/zoomout function in the documentation window (Ctrl-- and
Ctrl-+).
- Added multiple views (splitted windows) functionnality.
- Fix search ctrl behaviour in the documentation window.

Auto Start Children (new feature):

These changes offer the possibility to control start/stop of all objects in
a
processing chain at once. See the documentation of the following methods
for
more details.

- Server.setAutoStartChildren().
- PyoObjectBase.preventAutoStart().
- PyoObjectBase.useWaitTimeOnStop().
- PyoObjectBase.addLinkedObject().
- PyoObjectBase.setStopDelay().
- PyoObject.stop().
- PyoPVObject.stop().

New example categories:

- Dynamic range of audio signals
- Calling python functions from audio objects
- Using tables
- How to use MIDI with pyo
- Multirate audio processing


Olivier Belanger
[hidden email]
http://olivier.ajaxsoundstudio.com/

----

<P><A HREF="http://ajaxsoundstudio.com/software/pyo/">Pyo 1.0.0</A> - short
Python DSP library. (06-Aug-19)
--
Python-announce-list mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
https://mail.python.org/mailman3/lists/python-announce-list.python.org/

        Support the Python Software Foundation:
        http://www.python.org/psf/donations/