Skip to content

Releases: sensorium/Mozzi

Anopheles wellcomei

29 Jul 07:10
Compare
Choose a tag to compare

What's Changed

  • Fix compilation with configuration option MOZZI_AUDIO_INPUT
  • Fix compilation with ATMEGA328PB CPUs
  • Fix some erroneous compilation warnings

Full Changelog: v2.0.0...v2.0.1

Anopheles wellcomei

11 Jun 22:19
Compare
Choose a tag to compare

A new major version, a new mosquito genus!

Mozzi have undergone a fairly big overhaul! Before an automatic changelog, here is an overview of what has changed.

Configuration at the sketch level

The biggest change (at least internally) concerns the way you can configure Mozzi.
Configuration of Mozzi (if desired) is now done in the user sketch itself. This removes the need to fiddle inside Mozzi's sources when using different configurations (EXTERNAL_AUDIO_OUTPUT, STEREO, etc…). For instance in order to use stereo, with an external DAC which timing is controlled by Mozzi, you just need to add:

#include "MozziConfigValues.h"  // for named option values
#define MOZZI_AUDIO_MODE MOZZI_OUTPUT_EXTERNAL_TIMED
#define MOZZI_AUDIO_CHANNELS MOZZI_STEREO

#include <Mozzi.h> // note the change from MozziGuts.h, old fashion still works with a warning

at the top of your sketch. Refer to the examples and the documentation for more on this!

Scaling of analog reads

In order to further improve the compatibility between platforms, the range of the analog reads (mozziAnalogRead) can be explicitly specified:

  • or at the sketch level with the config option: define MOZZI_ANALOG_READ_RESOLUTION 10
  • or/and for every analog reads, for instance: mozziAnalogRead<10>(pin);

Not doing this will fall back on the platform native range (just like Mozzi 1) but will issue a warning (and is not advised).

New fixed point math

A new paradigm for fixed point math arithmetic has been added. This leverages on FixMath which has spawned from Mozzi's development. The goal of this library is to automatized, at the compiler level, the calculations of the range and precision needed for a fixed point type, making coding easier and overflows impossible. Mozzi's functions that were already using fixed point (old paradigm) have been adapted to this! The old way of using fixed point math is still available.

This becomes a requirement for installing Mozzi. If you install Mozzi via the library manager this should be automatically done.

More info on the FixMath page and in Mozzi's examples!

Bugfix/improvements

  • the rate at which updateControl() was called was slightly off. This had only consequences in some very specific cases (#253) but is now corrected (#256)
  • the RP2040 (Raspberry Pico) was not on-tune, this is fixed (#254)
  • twi_nonblock only compiled when needed (#242)
  • some of the ways Mozzi functions internally have been rationalized and improved

Compatibility

This release is not 100% source compatible to earlier versions of Mozzi. Most sketches will continue to compile, but with warnings. Some will need adjustments to keep working. See https://sensorium.github.io/Mozzi/learn/porting/ . If porting is not an option, install an earlier (1.x) version of Mozzi, or use the "Mozzi_1" branch in git.

Change of licence

Mozzi has now changed to LGPL license! (#240)

Changelog

What's Changed

Full Changelog: 1.1.2...v2.0.0

What's Changed

Full Changelog: 1.1.2...v2.0.0

Aedes daliensis

09 Dec 16:34
Compare
Choose a tag to compare

Small release, principally to fix the Uno R4 port.

What's Changed

Full Changelog: 1.1.1...1.1.2

Aedes daliensis

31 Oct 20:01
cf9e173
Compare
Choose a tag to compare

A new release!

Apart for some bug fixing and autobuilds, Mozzi is now supporting two new boards:

  • the Arduino Giga thanks to @tfry-git
  • the Arduino R4 (@tomcombriat)
    A port to the other core for STM32 (STM32duino) has also been ported by @tfry-git.

A few other things have changed, here is the (automatically generated) changelog:

What's Changed

New Contributors

Full Changelog: 1.1.0...1.1.1

Aedes daliensis

22 Mar 01:35
cca8007
Compare
Choose a tag to compare

We are having releases again!
Now Mozzi can work with Arduino's library manager.

There are now several processors supported thanks to @tfry-git and @tomcombriat. See the README or the Mozzi web page.

@tomcombriat has added some new classes with examples:

  • Wavefolder: a synthesis technique which folds the wave once it reaches amplitude limits
  • MetaOscil: produce non-aliased sounds by automatically switching between stacked oscillators
  • MultiResonantFilter: different filter outputs are accessible via low(), high(), band() and notch() functions.

Below is a more detailed automatically generated list of changes:

New Contributors

Full Changelog: v1.0.2...1.1.0

Aedes flavifrons (Legacy)

04 Apr 13:03
Compare
Choose a tag to compare
Pre-release

Don't use this! All Mozzi releases are now considered legacy.
Download the "live" code on the main page, under the "Code" button.


Release notes:
HIFI actually works this time... ie. it's unbroken

Aedes flavifrons

11 Mar 23:17
Compare
Choose a tag to compare
Aedes flavifrons Pre-release
Pre-release

HIFI sketches compile again. The problems were due to more errors around changes in Mozzi's modified FrequencyTimer2 library usage which were not tested properly before release.

Aedes flavifrons

16 Jan 04:04
Compare
Choose a tag to compare
Aedes flavifrons Pre-release
Pre-release

Removed stray FrequencyTimer files from main folder, which stopped anything compiling...!

Aedes flavifrons

11 Dec 06:08
Compare
Choose a tag to compare
Aedes flavifrons Pre-release
Pre-release
  • Teensy now compiles, bit of a hack added
    || defined(TEENSYDUINO)
    to all Teensy conditional compile lines like this:
    #if defined(MK20DX128) || defined(MK20DX256) || defined(TEENSYDUINO) // teensy 3, 3.1
  • examples, removed commented ADC.h line from all examples, Teensy doesn't seem to need it anymore

Aedes flavifrons

24 Nov 23:54
Compare
Choose a tag to compare
Aedes flavifrons Pre-release
Pre-release

Testing - please report any bugs on github or the Mozzi users forum

Mostly bug fixes and maintainance, updated to suit Arduino 1.5+. However, the 1.0.5 IDE still produces faster code than any speed optimisation levels compiled with the newer versions.

  • added library.properties for Arduino 1.5+
  • MozziGuts.cpp and .h, and mozzi_config.h: added STEREO_HACK config option, set it to true to try stereo output, also added Stereo_Hack exammple
  • README - updated install instructions
  • examples/Mozzi_Midi_Input, added note about rx pin for midi in rather than tx as shown on Arduino page.
  • ADSR.h - now IDLE phase will always return 0.
  • included ADC.h for Teensy 3+ in mozzi_analog.h and removed it from sketches - not sure why this didn't work before (maybe <> instead of "").
  • python scripts sin1024_uint8.py and sin8192_uint8.py, changed broken int16_t casts to int, Might have accidentally changed in a global search/replace.
  • examples - changed Sinwave_PWM_leds_HIFI to Sinwave_PWM_leds, can't see any need for extra confusion of HFI
  • examples - Detuned_Oscil_Wash - added note about compiling for speed, and that Arduino 1.0.5 still produces faster code.