Skip to content

Releases: alainbonardi/abclib

abclib v1.0.6

27 Mar 20:21
Compare
Choose a tag to compare

What's new in v1.0.6?

  • This new release fixes a bug in the vbap and decoder functions (therefore all vbap abc_2d_vbapN~ and decoder abc_2d_decoderN_P~ objects).

  • It also improves some edge effects in sample and hold functions linked to phasors, when the frequency of the phasor increases.
    The thresholds are now dependant on this frequency and the sampling rate and no longer fixed.


v1.0.6 content

This release provides four versions of the library compiled for Max and PureData both on MacOS and Windows:
3 versions on MacOS (zipped folders):

  • abclib_v1_0_6_max64bits_macos: for Max 64 bits on MacOS, universal (works on M1/M2 with or without Rosetta, and Intel from Mojave 10.14)
  • abclib_v1_0_6_puredata64bits_macM1IntelFromCatalina: for PureData 64 bits on MacOS, works on M1/M2 processors and Intel processors from Catalina (10.15)
  • abclib_v1_0_6_puredata64bits_macIntelUpToMojave: for PureData 64 bits on MacOS, works on Intel processors up to Mojave (10.14)
    1 version on Windows (zipped folders):
  • abclib_v1_0_6_max64bits_windows: for Max 64 bits on Windows
    It also includes a version for Pure Data on Linux:
  • abclib_v1_0_6_puredata64bits_linux
    and three readme files:
  • about the general information for the Pure Data versions
  • about the Pure Data universal faustgen version
  • and this readme
    We also provide the set of autonomous and minimum Faust codes of the library:
  • abclib_v1_0_6_faustcodes

v1.0.6 requirements

Max 8 should be used (it is not guaranteed that abclib still works on Max 7).
https://cycling74.com/downloads/

PureData 0.54 minimumn should be used, since some multichannel abstractions are used to display ambisonic fields or sound levels.
https://puredata.info/downloads/pure-data/

For Max versions, abclib folder should be decompressed (getting an abclib folder) and added to the packages folder within Max8 folder.

For all Pure Data versions, cyclone library should be installed to use its [scope~] object to visualize spatial ambisonic components.
After decompression of the zipped folder, the abclib folder should be added to the Documents/Pd/externals folder.
For the universal Pure Data version based on faustgen embedded compiler by Albert Graef, this object should be downloaded and installed:
https://github.com/agraef/pd-faustgen/releases/latest/

abclib v1.0.5

02 Feb 12:27
Compare
Choose a tag to compare

This new release fixes a bug in the vbap function (impacting therefore all vbap abc_2d_vbapN~ and decoder abc_2d_decoderN_P~ objects).


v1.0.5 content

This release provides four versions of the library compiled for Max and PureData both on MacOS and Windows:
3 versions on MacOS (zipped folders):

  • abclib_v1_0_5_max64bits_macos: for Max 64 bits on MacOS, universal (works on M1/M2 with or without Rosetta, and Intel from Mojave 10.14)
  • abclib_v1_0_5_puredata64bits_macM1IntelFromCatalina: for PureData 64 bits on MacOS, works on M1/M2 processors and Intel processors from Catalina (10.15)
  • abclib_v1_0_5_puredata64bits_macIntelUpToMojave: for PureData 64 bits on MacOS, works on Intel processors up to Mojave (10.14)
    1 version on Windows (zipped folders):
  • abclib_v1_0_5_max64bits_windows: for Max 64 bits on Windows
    It also includes a version for Pure Data on Linux:
  • abclib_v1_0_5_puredata64bits_linux
    and three readme files:
  • about the general information for the Pure Data versions
  • about the Pure Data universal faustgen version
  • and this readme
    We also provide the set of autonomous and minimum Faust codes of the library:
  • abclib_v1_0_5_faustcodes

v1.0.5 requirements

Max 8 should be used (it is not guaranteed that abclib still works on Max 7).
https://cycling74.com/downloads/

PureData 0.54 minimumn should be used, since some multichannel abstractions are used to display ambisonic fields or sound levels.
https://puredata.info/downloads/pure-data/

For Max versions, abclib folder should be decompressed (getting an abclib folder) and added to the packages folder within Max8 folder.

For all Pure Data versions, cyclone library should be installed to use its [scope~] object to visualize spatial ambisonic components.
After decompression of the zipped folder, the abclib folder should be added to the Documents/Pd/externals folder.
For the universal Pure Data version based on faustgen embedded compiler by Albert Graef, this object should be downloaded and installed:
https://github.com/agraef/pd-faustgen/releases/latest/

abclib v1.0.4

19 Jan 07:57
Compare
Choose a tag to compare

The v1.0.4 release of abclib just includes a new version for Max on Mac, compatible with Max 8.6
There are no changes in the Faust codes, we just recompiled the Max version to make it compatible with Max 8.6.
For all other targets (Pure Data) and other operating systems (Windows, Linux), please download the various versions of the v1.0.3 release.

abclib v1.0.3

15 Dec 19:35
9c22aae
Compare
Choose a tag to compare

This new release brings some improvements and new implementations of the library

Fix

  • abc_2d_rotateN~: we fixed a bug in the rotation angle.

Optimization

  • VBAP optimization: we optimized the VBAP implementation, and gain almost 50% of CPU. This optimizes all the ambisonic decoders since they include VBAP.

New objects

  • new objects for sound bus handling: abc_busplusN~ enables to add two sound buses (sig1 of bus1 is added to sig1 of bus2, etc.). abc_busmultN~ enables to multiply two sound buses (sig1 of bus1 is multiplied by sig1 of bus2, etc.)
  • new multichannel synthesis object abc_pulsedenv2synthN~: abc_pulsedenv2synthN~ are multichannel generators of sound bursts based on a sinusoid sound to which short triangular envelopes are applied. The ratio silence/sound is controlable (ratio). The short envelopes can be decorrelated thanks to spread control. A lowpass filter is applied to the output.

New implementations

  • a universal Pure Data version based on faustgen by Albert Graef: this is an embedded compiler that enables to directly include .dsp files that appear as compiled objets in Pure Data patches.

v1.0.3 content

This release provides four versions of the library compiled for Max and PureData on MacOS and Max on Windows:
3 versions on MacOS (zipped folders):

  • abclib_v1_0_3_max64bits_macos: for Max 64 bits on MacOS, universal (works on M1/M2 with or without Rosetta, and Intel from Mojave 10.14)
  • abclib_v1_0_3_puredata64bits_macM1IntelFromCatalina: for PureData 64 bits on MacOS, works on M1/M2 processors and Intel processors from Catalina (10.15)
  • abclib_v1_0_3_puredata64bits_macIntelUpToMojave: for PureData 64 bits on MacOS, works on Intel processors up to Mojave (10.14)
    1 version on Windows (zipped folders):
  • abclib_v1_0_1_max64bits_windows: for Max 64 bits on Windows

We also include a compiled version for Pure Data on Linux:

  • abclib_v1_0_3_puredata64bits_linux

We no longer propose compiled versions for Pure Data on Windows but a universal faustgen release, relying on Pd-faustgen by Albert Graef (an embedded Faust compiler as a Pure Data object):

  • abclib_v1_0_3_puredata_universal_faustgen

We also provide the set of autonomous and minimum Faust codes of the library:

  • abclib_v1_0_3_faustcodes

and three readme files:

  • about the general information for the Pure Data versions
  • about the Pure Data universal faustgen version
  • and this readme

v1.0.3 requirements

Max 8 should be used (it is not guaranteed that abclib still works on Max 7).
https://cycling74.com/downloads/

PureData 0.54 minimum should be used, since some multichannel abstractions are used to display ambisonic fields or sound levels.
https://puredata.info/downloads/pure-data/

For Max versions, abclib folder should be decompressed (getting an abclib folder) and added to the packages folder within Max8 folder.

For Pure Data version, cyclone library should be installed to use its [scope~] object to visualize spatial ambisonic components.
After decompression of the zipped folder, the abclib folder should be added to the Documents/Pd/externals folder.

For the universal Pure Data version based on faustgen embedded compiler by Albert Graef, this object should be downloaded and installed:
https://github.com/agraef/pd-faustgen/releases/latest/

abclib v1.0.2

31 Oct 05:01
Compare
Choose a tag to compare

This new release brings both improvements and new developments, especially in the field of spatial processing of sound.
For the Max versions, help patches have been redesigned using tabs, as well as several abstractions used in bpatchers.

Here is the list of new functionalities provided.

Spatial processing of sound: decorrelation and ring modulation
We added new functionalities to the ring modulator and the decorrelation for a more continuous sound result. In the case of decorrelation, the delay time of each ambisonic component is now linked to the factor and the feedback doesn’t influence the signal anymore when the factor equals zero. In the case of the ring modulator, we added the twenty-two distribution types of the process as well as the factor in the modulator frequencies equation. In the previous version of the syn mode processes (abc_2d_syn_decorrelation1~, abc_2d_syn_ringmod1~ etc.), the mono source was lateralized when the factor was zero. We chose to send signal only in the first ambisonic component in this situation and progressively to the other when the factor increases to generate transition between a large mono to a processed sound field.

New design of the irregular ambisonic decoder
We have implemented a new irregular ambisonic decoder. It is based on the projection of the set of virtual loudspeakers of a regular decoder to the irregular situation of the real implementation of loudspeakers. We use VBAP in that purpose. This method enables a high level of acoustic continuity whatever the angular irregularity of the device used.

Pre-definition of ambisonic decoders with a variable number of loudspeakers
In the 1.0.1 version of abclib, the number of loudspeakers at a certain ambisonic order was fixed and was equivalent to the ideal situation of regular decoding (that is 2n+2 loudspeakers at ambisonic order n; for instance 8 loudspeakers at order 3). The number of loudspeakers (from 3 to 16) can now be varied and indicated as a suffix in the object name. For instance, abc_2d_decoder3_8~ decodes at order 3 on 8 loudspeakers, abc_2d_decoder3_12~ decodes at order 3 on 12 loudspeakers, etc. The decoders of the 1.0.1 version have been maintained. They correspond to the ideal number of loudspeakers of regular decoding. One can therefore use abc_2d_decoder3~ or abc_2d_decoder3_8~, which exactly provide the same process.

Double encoder for stereo diffusion in ambisonic context
This double encoder (abc_stereoencoder1~ à abc_stereoencoder7~) enables the diffusion of a stereo pair, controlling the opening angle a (expressed in degrees) between the 2 channels. From the ambisonic point of view, the left channel is diffused at angle a/2, whereas the right channel is diffused at -a/2. Only one decoder is necessary to enable sound output on the diffusion system. The sound result is more enveloping than a simple diffusion using two loudspeakers.

Multiple encoders
A multiple encoder enables to encode between 1 and 8 sources at various ambisonic orders (from 1 to 7). They avoid the separate instantiation of multiple encoders and improve the readability of the patch. Only one decoder is necessary to enable sound output on the diffusion system. The controls are equivalent to those of a simple encoder (rotation speed or fixed angle), but indexed by a number between 0 and S-1, where S is the number of sources.

Harmonic/inharmonic additive synthesis module developed by Philippe Manoury and Serge Lemouton in Jupiter
The abc_jupiterbank~ and abc_jupiterbank2~ (with spectral envelope) are Faust versions of patches of additive synthesis developed by Philippe Manoury and Serge Lemouton in Jupiter (1987-1988) for flute and live electronics. This process contributes to the CHAPO module of the patch of the piece. The implementation is largely inspired by Maxence Larrieu’s article in the Proceedings of the Journées d'Informatique Musicale 2019.
These modules are based on additive synthesis of partials at frequencies fi = (k+i)*fr, where fr is a reference frequency, k a real constant, and fi the frequency of the ith partial. The distance between two successive partials is fixed, equal to fr. The k constant enables one to adjust the lowest frequency and shift the spectrum, either to give it an harmonic structure (with integer values of k) or an inharmonic structure (with non-integer values of k).

Phase Aligned Formant synthesis as proposed by Miller Puckette
abc_pucketttespaf~ is a Phase-Aligned Formant (PAF) generator. It is based on the content of a paper written by Miller Puckette
http://msp.ucsd.edu/techniques/v0.11/book-html/node96.html
PAF synthesis is a basis to generate variable spectra on a pair of harmonics to build formants that enable to create sound close to sung vowels thanks to formants. It consists in a two-cosine carrier signal multiplied by a waveshaping pulse generator.
The central frequency cf (Hz) is bordered by two successive multiples of the fundamental frequency f0 (Hz). The bandwith parameter (bw, in Hz) controls the width of the central peak in the spectrum of the PAF generator.


v1.0.2 content

This release provides 6 versions of the library compiled for Max and Pure Data on MacOS, Windows and Linux:
3 versions on MacOS (zipped folders):

  • abclib_v1_0_2_max64bits_macos: for Max 64 bits on MacOS, universal (works on M1 with or without Rosetta, and Intel from Mojave 10.14)
  • abclib_v1_0_2_puredata64bits_macM1IntelFromCatalina: for Pure Data 64 bits on MacOS, works on M1 processors and Intel processors from Catalina (10.15)
  • abclib_v1_0_2_puredata64bits_macIntelUpToMojave: for Pure Data 64 bits on MacOS, works on Intel processors up to Mojave (10.14)

2 versions on Windows (zipped folders):

  • abclib_v1_0_1_max64bits_windows: for Max 64 bits on Windows
  • abclib_v1_0_1_puredata32bits_windows: for Pure Data 32 bits only on Windows

1 version on Linux (zipped folder):

  • abclib_v1_0_2_puredata64bits_linux: for Pure Data 64 bits on Linux

v1.0.2 requirements

Max 8 should be used (it is not guaranteed that abclib still works on Max 7).
Pure Data 0.52-2 (minimum) should be used.
For Max versions, abclib folder should be decompressed (getting an abclib folder) and added to the packages folder within Max8 folder
For Pure Data versions, cyclone library should be installed to use its [scope~] object to visualize spatial ambisonic components.
After decompression of the zipped folder, the abclib folder should be added to the Documents/Pd/externals folder.

abclib v1.0.1

09 May 00:28
352851c
Compare
Choose a tag to compare

version 1.0.1

Updates from previous releases

  • modified abc_delaychainN~ objects to fix a bug
  • improved some help and topics max patches

The libraries have been tested on MacOS 10.14.6 and Windows 10

abclib version 1.0.0

22 Apr 10:10
Compare
Choose a tag to compare

This is the very first release of abclib library, version 1.0.0.

The release includes 5 zipped folders

  • the full set of Faust .dsp codes
  • the fully functional library for Max 64 bits on MacOS with objects and help patches.
  • the fully functional library for PureData 64 bits on MacOS with objects and help patches.
  • the fully functional library for Max 64 bits on Windows with objects and help patches.
  • the fully functional library for PureData 32 bits on Windows with objects and help patches.

The libraries have been tested on MacOS 10.14.6 and Windows 10