The classic SP0256-AL2 speech chip has featured a few times on these pages, and if you’ve not seen the actual part before, you almost certainly have heard the resulting audio output. The latest Python library from prolific retrocomputing enthusiast [Nick Bild] brings the joy of the old chip to the Raspberry Pi platform, with an added extra trick; support for the venerable AY-3-8910 sound generator as well.
The SP0256-AL2 chip generates vaguely recognisable speech using the allophone system. Allophones are kind of like small chunks of speech audio which when reproduced sequentially, result in intelligible phonemes that form the basis of speech. The chip requires an external device to feed it the allophones at a regular rate, which is the job of his Gi-Pi library.
This speech synthesis technology is based on Linear-predictive coding, which is used to implement a human vocal tract model. This is the same coding method utilized by the first generation of GSM digital mobile phones, implementing a system known as Full-Rate. Both an LPC encoder and an LPC decoder are present on the handset. The LPC encoder takes audio in from the user, breaks it into the tiny constituent parts of speech, and then simply sends a code representing the audio block, but not the actual audio. Obviously there are a few more parameters sent as well to adjust the model at the receiving side. The actual decoding side is therefore not all that dissimilar to what the AY-3-8910 and related devices are doing, except you the user have to create the list of audio blocks up-front and feed the chip at the rate it demands.
Old-school rotary telephones aren’t particularly useful for their original intended purpose in this day and age, but they’re great fun to hack into new projects. [Linus Åkesson] has done just that, with his Dial-a-SID jukebox build. (Video, embedded below.)
The build installs a Raspberry Pi 3 inside the body of the telephone, running a SID chip emulator and loaded up with the High Voltage SID Collection. The Pi inside outputs sound to an external stereo system for playing chiptunes at a party.
The real party piece, however, is that the handset can be lifted and the telephone dialled in order to listen to and select tracks for the playlist. Tracks can be selected by individual codes, by composer, or even by year. In the event the playlist grows empty, the default behaviour can be set to keep playing random tracks in the meantime.
The Gameboy is one of the biggest platforms in the chiptune scene. While it’s possible to play a show with a single handheld, many artists choose to use two or even more to fatten their sound and rock the crowd. To ease the workflow of creating songs for such a setup, [tommitytom] created Retroplug and you can see him walk through the features in the demo video after the break.
Retroplug is a VST wrapper for the Sameboy Gameboy emulator. This makes it possible to run multiple emulated Gameboy instances within digital audio software like Ableton or Fruityloops. Rather than having to juggle multiple 30-year old Gameboys and the associated batteries and link cables, instead, it can all be done within a hosted VST window.
Presently, the software works only with 64-bit Windows and VST2, however source is available for those eager to peek under the hood. It fully implements MIDI support for mGB, and works well with LSDJ and Arduinoboy setups. *.sav files are created for each emulated instance too, so when you’re done composing, you can throw your songs onto real hardware when you go out and perform!
For [Dejan]’s entry to the Musical Instrument Challenge in this year’s Hackaday Prize, he’s tapping into some of the great work that has been done over the years to bring bleeps and bloops to the masses. He’s building a drum machine, a bass synth, and an arpeggiator that fits in your pocket, in a handy form factor that fits in an Altoids tin. It’s the FATCAT Altoids Tin Mod Tracker.
This is a simple build meant to fit in an Altoids tin, so you’re not getting a whole lot of hardware here. There’s a battery, there’s a boost circuit, and there’s a single chip, an ATtiny84. This tiny little microcontroller is the heart of the box, able to provide a drum track with a kick, snare, and a closed and open high hat. There’s a bass with a simple square wave and portamento, and an arp track that can be used as a lead or arpeggiated chords. All of this is programmed in C and uploaded straight to the chip.
For the uninitiated, a Theremin is a touch-less synthesizer that uses human capacitance and a pair of antennae to control oscillation and amplitude. In a light-based Theremin such as this one, the oscillation is controlled by the intensity of photons from a white LED and their interaction with a light-dependent resistor, also known as a photocell or ‘squiggly resistor’.
The oscillations themselves are created by wiring up the 555 as an astable oscillator, and the pitch is controlled with a potentiometer mounted on the back. It has a small built-in speaker, but [lonesoulsurfer] replaced the B button with a 3.5 mm audio jack so he can plug it into a powered speaker and really rock out. We’ve got his demo tape queued up after the break.
Chiptunes are the fantastic, bleeping musical renditions of the soundchips of retro consoles past. Performers of the art overwhelmingly favour the various flavours of Game Boy, though there are those who work with such varied machines as the Commodore 64, Sega Genesis, and the Nintendo Entertainment System. A little more off the beaten track in the chiptune scene is the Super Nintendo, but [kevtris] has struck out and built a chiptune player for SNES-based music.
The heavy lifting is handled by an FPGA, which emulates the SNES’s S-SMP sound processor, and handles loading the music from the SPC-format files. Being chiptunes, these files store both the instrument data as well as the note data for the music. Audio output is clean and crisp, as heard in the test video.
Case design is where this project really shines. Laser cut clear acrylic is combined with a bright LCD character display and some LEDs which create an effect not unlike a glowing magical block from your 90s platformer of choice. It’s combined with some slick capacitive buttons that avoid the need to drill holes for bulky traditional buttons. [kevtris] goes through the case design, showing how it all fits together with a combination of screws and standoffs. Being built out of a series of essentially 2D slices, the case is stacked up one layer at a time.
What really stands out about this project is the fit and finish. There’s plenty of microcontroller and FPGA projects out there that can hum out a tune, but the attention to detail paid to the case design and the neatly laid out PCB really add polish to a project like this. For a different take, why not check out this chiptune player built around a Raspberry Pi?
General Instrument’s AY-3-8910 is a chip associated with video game music and is popular with arcade games and pinball machines. The chip tunes produced by this IC are iconic and are reminiscent of a great era for electronics. [Deater] has done an amazing job at creating a harmony between the old and new with his Raspberry Pi AY-3-8910 project.
[Deater] already showed us an earlier version of the project on a breadboard however after having made some PCBs and an enclosure the result is even more impressive. The system consists of not one but two AY-3-8910 for stereo sound that feed a MAX98306 breakout for amplification. A Raspberry Pi 2 sends six channels worth of data via 74HC595 shift registers driven by SPI. There is a surplus of displays ranging from a matrix to bar graph and even 14-segment displays. The entire PCB is recognized as a hat courtesy an EEPROM which sits alongside a DS1307 RTC breakout board. The enclosure is simple but very effective at showing the internals as well as the PCB art.
The software that [Deater] provides, extends the functionality of the project beyond the chiptunes player. There is a program to use the devices as an alarm clock, CPU meter, electronic organ and even a playable version of Tetris as seen in the demo video below. The blog post is very informative and shows progress in a chronological fashion with pictures of the design at various stages of development. [Deater] provides a full set of instructions as well as the schematic along with code posted on GitHub.