Some low volume ticking noise was heard, probably interference from the ESP. It was also tested using the Arduino 1.6.10 IDE, with the PCF8575 16-bit I/O expander and a a WeMos D1 mini (ESP8266 ESP-12F).It was also tested using an Arduino Pro Mini with an ATmega168 running at 8MHz/3v3, both with and without shift register. The current version of this library has been tested using the Arduino 1.8.2 IDE, one 74HC595 shift-register and an ATtiny85 MCU.Alternatively the output of the shift-register can be reversed using setBitOrder(LSB_FIRST) Features & limitations This means that the proper connection to a shift-register is D7 to Qa, D6 to Qb, etc. Note that D0 to D7 are in LSB-first order. Of course you can also review the datasheet (PDF). This fine piece of ASCII-art shows the pinout of the SN76489. Audio out requires a mono amplifier to filter noise and amplify the signal for a speaker or headphones. The output enable pin (/OE) can be tied low.
The SN76489 sound generator requires power via VCC/GND, a clock signal up to 4MHz, instructions via eight data pins and one control pin (write enable, /WE). Instead of directly using MCU pins, the mxUnifiedIO libraries allow the sound chip to be driven via the expanded pins of an I2C I/O expander or a shift-register. Additionally it is supported by the MML Music library. This library requires the the mxUnifiedIO base-library and a suitable mxUnifiedIO expander driver. See Wikipedia and the datasheet for more information. The chip was quite popular in the early days of home computing and gaming, being used in consoles and computers such as the Sega Genesis, IBM PCjr and BBC Micro. All four channels can be active simultanously and are mixed to one output, allowing for three-voice music plus noise. The SN76489 sound chip is a low-cost 3+1 channel complex sound generator that provides three programmable tone generators and one noise generator, all with programmable attenuation (volume). This is a library for the SN76489 complex sound generator chip. Use SPI shift registers or I2C I/O expanders via the mxUnifiedIO API.
Device specific driver for the SN76489 sound chip.