Overview
For Boston University's Artemis Project, a STEM education summer program for female rising high school freshmen, the BU Electronics Design Facility designed a synthesizer kit and ran a two day soldering workshop for the students. The whole kit was put together over about a 1 month period.
The Artemis Synthesizer is a basic 12-bit resolution synthesizer which has an output sample rate of 22kHz. The output audio is filtered at 11kHz to satisfy Nyquist and prevent weird aliasing and reflections in the output audio. Internally the synthesizer generates sound using a predetermined wave table, which can be changed and recalculated if desired. By default, the wave table contains a sine wave with 256 steps, but harmonic sound data can be programmed into the synth kit using our web interface.
The synthesizer contains two interactive modes and one mode for the optical communication link. These modes are: a keyboard mode, which contains 4 scales (C major, C pentatonic, C blues and C minor) and has 8 available keys; and a sequencer mode, which can hold eight 8-step by 8-note sequences. In sequencer mode, new sequences can be entered from the web interface.
The optical link, which is kindly called the "Optoloader" has its own separate mode and detects timed transitions between black and white from a computer monitor. The light levels are taken in on a photo-transistor and transitions detected using an analogue comparator interrupt with the comparison set at V_bat/2. The data is encoded using BiPhase Mark Code which encodes the clock with the data. The link is generally reliable when the monitor is set to a high brightness and a low speed is used. Mostly it allows for us to have a kit which is interactive with minimal programming experience and can still be changed and played with long after they leave. Thus the web interface which was developed by Sam Damask becomes very important for the end goal of our project.
The development team contained:
- Christopher Woodall [Me] who designed the kits and wrote the firmware
- Eric Hazen who reviewed my designs, advised my decisions and wrote the assembly instructions and parts list
- Sam Damask who wrote the web interface code.
Along the way I documented the process, explaining a few design decisions and experiments. I will go over vital information and reference the posts which contain relevant information as I go along:
- Artemis Synthesizer 1: Testing the TDA2822 Audio Amplifier
- Artemis Synthesizer 2: Interfacing with the MCP4921 SPI DAC
- Artemis Synthesizer 3: Basic I/O with Buttons and LEDs
- Artemis Synthesizer 4: Post-Mortem
- The Optoloader: Transmitting Data With a Blinky Box (Coming Soon)
- Fixed-Point Arithmetic: Fast Fractions using Integer Arithmetic (Coming Soon)
Read on!
Continue reading Artemis Synthesizer: A Music Synthesizer Kit