Sunday, January 14, 2018

Weekly Beats 2018 - 01 - Wonder Less



https://weeklybeats.com/little-scale/music/wonder-less

Monday, January 01, 2018

Oct SN76489 MIDI Array




The SN76489 is the same sound chip as found in the SEGA Master System. This is an array of eight SN76489 sound chips playable via USB MIDI, for a total of 32 hardware channels.



MIDI channels 1 - 16 are each split, so that each channel can represent two hardware channels. This is achieved by splitting the MIDI pitch range across two SN76489 channels. A C3 played on MIDI channel 1 with a transposition of -36 semitones will sound like a C3 being played on SN76489 chip 1, channel 1. A C3 played on MIDI channel 1 with a transposition of +24 semitones will sound like a C3 being played on SN76489 chip 1, channel 2. 

Thus, the 16 MIDI channels are mapped as follows: 
SN76489 Chip 1, Channel 1: MIDI Channel 1 -36 semitones
SN76489 Chip 1, Channel 2: MIDI Channel 1 +24 semitones
SN76489 Chip 1, Channel 3: MIDI Channel 2 -36 semitones
SN76489 Chip 1, Channel 4: MIDI Channel 2 +24 semitones
SN76489 Chip 2, Channel 1: MIDI Channel 3 -36 semitones
SN76489 Chip 2, Channel 2: MIDI Channel 3 +24 semitones
SN76489 Chip 2, Channel 3: MIDI Channel 4 -36 semitones
SN76489 Chip 2, Channel 4: MIDI Channel 4 +24 semitones
SN76489 Chip 3, Channel 1: MIDI Channel 5 -36 semitones
SN76489 Chip 3, Channel 2: MIDI Channel 5 +24 semitones
SN76489 Chip 3, Channel 3: MIDI Channel 6 -36 semitones
SN76489 Chip 3, Channel 4: MIDI Channel 6 +24 semitones
SN76489 Chip 4, Channel 1: MIDI Channel 7 -36 semitones
SN76489 Chip 4, Channel 2: MIDI Channel 7 +24 semitones
SN76489 Chip 4, Channel 3: MIDI Channel 8 -36 semitones
SN76489 Chip 4, Channel 4: MIDI Channel 8 +24 semitones
SN76489 Chip 5, Channel 1: MIDI Channel 9 -36 semitones
SN76489 Chip 5, Channel 2: MIDI Channel 9 +24 semitones
SN76489 Chip 5, Channel 3: MIDI Channel 10 -36 semitones
SN76489 Chip 5, Channel 4: MIDI Channel 10 +24 semitones
SN76489 Chip 6, Channel 1: MIDI Channel 11 -36 semitones
SN76489 Chip 6, Channel 2: MIDI Channel 11 +24 semitones
SN76489 Chip 6, Channel 3: MIDI Channel 12 -36 semitones
SN76489 Chip 6, Channel 4: MIDI Channel 12 +24 semitones
SN76489 Chip 7, Channel 1: MIDI Channel 13 -36 semitones
SN76489 Chip 7, Channel 2: MIDI Channel 13 +24 semitones
SN76489 Chip 7, Channel 3: MIDI Channel 14 -36 semitones
SN76489 Chip 7, Channel 4: MIDI Channel 14 +24 semitones
SN76489 Chip 8, Channel 1: MIDI Channel 15 -36 semitones
SN76489 Chip 8, Channel 2: MIDI Channel 15 +24 semitones
SN76489 Chip 8, Channel 3: MIDI Channel 16 -36 semitones
SN76489 Chip 8, Channel 4: MIDI Channel 16 +24 semitones



The hardware setup has one Teensy LC, with a common data bus (digital pins 0 - 7) and individual chip select (digital pins 8 - 15). One external 4 MHz crystal provides the timing for all eight SN76489.



Sunday, December 31, 2017

USB MIDI to Gates and Sync




This project is useful for controlling drums in a modular system from a DAW such as Ableton Live, as well as sequencer synchronisation via MIDI.


The Teensy maps MIDI notes to six gate outputs, and MIDI clock to a reset output and sync output. Pitches C, D, E, F, G and A on any channel will turn the corresponding gate on with a velocity above zero, or off with a velocity of zero. The MIDI octave or channel number doesn't matter.

When the DAW sends MIDI clock to the Teensy, a start or continue message will generate a short pulse at the reset output. This allows any analog sequencers to be reset at the same time as the DAW transport starts.

A button connected to the Teensy sets the division of the clock output. The initial value is sixteenth notes. Pressing the button will change this to eighths, then quarters, then 24 pulses per quarter note (i.e. native MIDI clock sync), and then off. Pressing the button will then revert back to sixteenths.

Teensy pins 0 - 5 are connected to gate outputs 1 - 6. Teensy pins 6 and 7 are connected to reset and clock. All outputs are via a 1K resistor and a 1N4148 diode.



The Teensy LC and 3.x will output 3.3v, which seems to fine for many modular applications. If the standard 5V is required, a Teensy 2.0 can be used, or a non-inverting buffer before the resistor on each output. The code can be expanded in terms of sync options and number of gates. 




Download the code here: http://milkcrate.com.au/_other/downloads/arduino/USB_Gate_and_Sync.ino

Tuesday, November 28, 2017

On Sonifying Local Australian Weather Data in Real Time


These are Adelaide weather observations from the Australian Bureau of Meteorology.



The JSON file, which is found on the above page, can be accessed in Max. Specific data points can be re-loaded and then used to drive sonic parameters. These will update as the Bureau's observations update.

This will work for any of the listed observations parameters, as well as any of the observation locations found on the BOM.

Sunday, November 26, 2017

Four Encoders as MIDI Controllers

An example of using four encoders to send MIDI control information and note events. Compatible with Teensy 3.2 - 3.6. Change pin numbers accordingly, if desired.






Download code here: http://milkcrate.com.au/_other/downloads/arduino/quad_encoders.ino