Giter Club home page Giter Club logo

1-bit-avr-synthesizer's Introduction

1-Bit AVR Synthesizer
By Matt Sarnoff (msarnoff.org/1bitsynth)
October 2009-October 2010
========================================

This is an interesting little synthesizer/noisemaker that makes Atari-like
sounds. All sounds are generated directly from an ATmega48 microcontroller,
and have only 1 bit of amplitude; in other words, pulse waves and nothing else.

For more info, photos, and videos, see
http://www.msarnoff.org/1bitsynth
or
http://www.youtube.com/user/74hc595


Compiling
---------
A Makefile for avr-gcc is included. Just type "make hex", then connect your
ISP programmer to the ATmega48 and type "make fuse" and "make flash".


Hacking
-------
The code in its original state is about 3k, leaving some room for additions.
Additionally, things should work fine on an ATmega168 or ATmega328P if you
need more space. 

The MIDI note table is specially computed for a 12MHz clock frequency.
If you change the crystal, you'll have to recompute this table.

The circuit supports 9 analog inputs, but only 7 are used. Feel free to do
whatever you like with the other two (as long as the signal is between 0 and
5 volts).

You might notice the "tiasnd.c" file is not used at all.
This file contains an implementation of the actual waveforms used by the
TIA chip in the Atari 2600. (basically, a 9-bit linear shift register connected
in interesting ways.) I decided not to use it, since I wanted this synth to
make its own sounds, rather than mimic the sounds of some other chip, but it
shouldn't be too difficult to hook it back up if you like. The algorithms
are adapted from the source code of the Stella emulator.
(http://stella.sourceforge.net)

1-bit-avr-synthesizer's People

Contributors

74hc595 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.