Categories
algorithm Arduino electronics PCB software

Making music with a Yamaha YM2413 Synthesizer – Part 3

Part 1 and part 2 of this series set up the hardware and software infrastructure to support end-user applications using the YM2413 synthesizer. These are discussed in this final instalment.

Categories
algorithm Arduino electronics PCB software

Making music with a Yamaha YM2413 Synthesizer – Part 2

The first part concluded with the YM2413 hardware and an amplifier on a test Arduino Uno shield. In this and the next part we explore the interface to the device and how to control the hardware to make music.

Categories
algorithm Arduino electronics hardware PCB

Making music with a Yamaha YM2413 Synthesizer – Part 1

When researching material for the SN76489 sound generator (documented in these previous articles) I discovered that many early microcomputer systems incorporated both the SN76489 and a YM2413 FM synthesizer. The Yamaha synthesizer looked like an interesting piece of hardware to explore. Here’s the result.

Categories
Arduino hardware software

A Glockenspiel Music Box

My project ‘to-do’ list has for a long time included automating a percussion instrument. I recently decided that a xylophone or glockenspiel type instrument would be a good idea … until I saw the cost of one of those things!

So to fulfill my ambition in an economical way, I downsized to automating a toy glockenspiel. Here’s how it went.

Categories
algorithm Arduino software

An RTTTL Parser Class

Ring Tone Text Transfer Language (RTTTL) was developed by Nokia in the 1980’s as a format and mechanism to manage ringtones on cell phones. As Nokia was leader brand at the time, this method was quickly adopted by many other manufacturers and became the de-facto standard for ringtones.

As cell phone hardware became more capable, the use of RTTTL has diminished in favour of more advanced sound production – today most ringtones are simply ordinary sound files. RTTTL files, however, are still useful in may applications.

Categories
algorithm Arduino software

A simple Command Line Interface (CLI)

When developing libraries and other complex applications, I find that I often need to exercise specific parts of the library/application as it is being developed.

One way to do this is to write specific test code to exercise functionality. Another is to provide an interactive command line interface to achieve the same.

Until recently I hard coded these testing code CLI for each application. I now have a simple class that enables a flexible and consistent CLI.

Categories
algorithm Arduino software

Easy Neopixel bitmaps using Excel

Digitally addressable LEDs allow you to control large numbers of LEDs using digital communication to integrated control chips that manage all the rest for you. Matrices of these LEDs can make attractive displays but it can be somewhat of a pain to create bitmaps for display.

I use an Excel worksheet to marshal the data, needing me to just fill in numbers in a worksheet matrix.

Categories
algorithm Arduino electronics hardware software

Making noise with a SN76489 Digital Sound Generator – Part 3

In the first part and second part we examined the basics of the SN76489 hardware and the development of a library to manage sound production from this IC.

So, after all this effort, what kind of sound does this hardware produce? In this final post I run a few tests and dig into the resulting waveforms.

Categories
algorithm Arduino hardware software

Making noise with a SN76489 Digital Sound Generator – Part 2

In the first part we examined the basics of the SN76489 hardware and how to manage it at the hardware interface between MCU and IC.

To enable sound generation experiments, the first thing I did was create a library to allow me to write sketches without worrying too much about this underlying hardware management.

Categories
algorithm Arduino hardware software

Making noise with a SN76489 Digital Sound Generator – Part 1

Most computer games from the 80’s are recognizable by the bleeps and bloops they produced for sound. The easiest way to do this to toggle a single I/O pin to generate a square wave but there are some retro sound ICs that allow us to do much better for a minimal investment.

The SN76489 is one such IC that is still available at a very modest price and is easily interfaced to modern microprocessors.