News
Mozzi workshop, International Symposium on Electronic Art June 8-9, 2013 in Sydney.
Through guided making, participants will learn to use Mozzi and Arduino to combine sensors with synthesis to make complex, reactive sounds. By the end of the workshop everyone will have created and customised their own responsive sound-generating objects. More details and registration: ISEA2013
Mozzi workshop, Music Hack Day, 13-14 June 2013, Barcelona.
Mozzi workshop, International Conference on Auditory Display, July 6-10, 2013, Lodz University of Technology, Poland.
Currently your Arduino can only beep like a microwave oven. Mozzi brings your Arduino to life by allowing it to produce much more complex and interesting growls, sweeps and chorusing atmospherics. These sounds can be quickly and easily constructed from familiar synthesis units like oscillators, delays, filters and envelopes.
You can use Mozzi to generate algorithmic music for an installation or performance, or make interactive sonifications of sensors, on a small, modular and super cheap Arduino, without the need for additional shields, message passing or external synths.
Here are some sounds of the example sketches which come with Mozzi:
Using a "Line" to sweep frequency:
Phase and amplitude modulation:
A chordal wash of detuned oscillator pairs:
Waveshaping:
Samples sequenced on the fly:
Mozzi is designed to be easy to use, open source and extendable.
If you enjoy using Mozzi for a project, or have extended it, we would be pleased to hear about it and provide support wherever possible. Contribute suggestions, improvements and bug fixes to the Mozzi wiki on GitHub, or Fork it to contribute directly to future developments.
Mozzi is a development of research into Mobile Sonification in the SweatSonics project.
Features
- 16384 Hz sample rate, with 8 bit or 14 bit audio output modes.
- Variable control rate from 64 Hz upwards.
- Useful basic audio toolkit: oscillators, samples, lines, envelopes, scheduling, filtering.
- Fast ADC and other cpu-efficient code utilities to help keep audio running smoothly.
- Example sketches for easy modification.
- Readymade wavetables and a script to convert your own soundfiles for Mozzi.
Installation
Download Mozzi from the top of this page and unzip it. It will probably have a name like "sensorium-Mozzi-2bee818". Rename the unzipped folder "Mozzi". Then, following the instructions from the Arduino libraries page:
Open your Arduino sketchbook folder. If there is already a folder there called libraries, place the library folder in there. If not, create a folder called libraries in the sketchbook folder, and drop the Mozzi folder in there. Then re-start the Arduino programming environment, and you should see Mozzi in the Sketch > Import Library menu.
Quick Start
To hear Mozzi, connect a 3.5mm audio jack with the centre wire to the PWM output on Digital Pin 9* on Arduino, and the black ground to the Ground on the Arduino. Use this as a line out which you can plug into your computer and listen to with a sound program like Audacity. Try some examples from the File > Examples > Mozzi menu.
*See the README for audio output pins on different boards.
Using Mozzi
Here's a minimal template for an empty Mozzi sketch:
Documentation
There's Mozzi documentation online and in the doc folder in the Mozzi download.
There are hints and tips and more help on the Mozzi wiki.
Contributions to the wiki are welcome.
Start a topic on the Mozzi-users discussion forum.
Also, feel free to submit any issues.
Or Share Mozzi code snippets.
Also, there are recordings of the examples inside their sketch folders.
Caveats
- This code has been tested on Arduino Duemilanove ATmega328, Arduino Nano ATmega328, Arduino Pro Mini, Arduino Uno, Arduino Leonardo, Arduino Mega, EtherMega, Boarduino, Ardweeny, Teensy2 and Teensy2++. Feedback about performance on other Arduinos welcome.
- Mozzi disables Arduino time functions millis(), micros(), delay(), and delayMicroseconds(). Instead, you can use Mozzi's EventDelay() for scheduling.
Included Dependencies
Slightly modified versions of the following libraries are included in the Mozzi download:TimerOne
FrequencyTImer2