MIDIjoy is a software+interface combination that allows you to use your Atari or Commodore homecomputer as a musical instrument. the idea is based on the Atari 2600-PC-Interface created by Sebastian Tomczak and was expanded to suit the extended capabilities of the 8-Bit homecomputers.
the interface emulates a USB-MIDI (serial MIDI is optional) device that can be accessed by any kind of instrument as well as sequencer software on a PC or Mac that can output MIDI data (e.g. Ableton Live or Aria Maestosa). the MIDIjoy software receives this data from the interface via the joystick ports and plays them on the POKEY (or SID or TIA) sound-chip. in contrast to most SIO-based MIDI interfaces, a MIDIjoy-driven Atari can be used as a live instrument in real time with up to four sound channels simultaneously. at the same time, all POKEY parameters (AUDCTL, AUDC1-4) can be changed on-the-fly as well as activation of ADSR envelopes. music input can be recorded and saved to disk for later usage - even in your own programs/games.
the source code for the Teensy microcontroller (an Arduino offspring) on the interface is available here as open source as the basic idea is based on Sebastian Tomczak's interface. the adapted code is very simple and converts incoming MIDI data into bit combinations that are sent to the Atari or C64 via its joystick ports. the MIDIjoy software on the Atari/C64 then plays the incoming notes live.
on the Atari, MIDIjoy makes full use of the capabilities of the POKEY sound chip and thus partly extends the features of the Atari 2600-interface: instead of just two voices within the 32-pitch range of the TIA, MIDIjoy enables you to make full use of four voices spanning four octaves. two 16-bit channels are also possible, and with corresponding POKEY frequencies a much larger range of sounds can be created.
the onboard teensy device on this hardware will arrive un-programmed. you will need to program it with the code for the console you will use this with, and this code is available on the project's homepage as linked to above. programming of the teensy is done via USB, no extra hardware is required for this process.
text adapted from project website. please refer to the project website for all available documentation.