Saturday, 30 April 2016

Arduino MIDI Controller: Buttons

Push It!

In this installment of the MIDI for the Arduino Series, we will add Push Buttons to the Midi Controller we started building in the last chapter.

Before You Start

This tutorial will ONLY work with the Arduino UNO. (Please don't ask if it will work on other Arduino models.) I am using some direct port manipulation in the code that is currently specific to the UNO. I'll let you know if this changes in the future.

The Software

To make things simple, I have created a plug and play program that will allow you to customize your controller. All you need to do is tell the software the number of controls you will be using and how these controls should behave and the software will take care of the details. The video explains how to configure the software for your project.

Download the software HERE

Build It!

Watch this video for a step by step guide.

Thursday, 17 March 2016

Arduino MIDI Controller: Potentiometers

Take Control


In this installment of the MIDI for the Arduino series, we will apply the knowledge we have gained from previous chapters and begin the construction of a MIDI controller. This lesson deals specifically with potentiometers. But have no fear, we will cover buttons in the next installment.

Before You Start

This tutorial will ONLY work with the Arduino UNO. (Please don't ask if it will work on other Arduino models.) I am using some direct port manipulation in the code that is currently specific to the UNO. I'll let you know if this changes in the future.

The potentiometers I am using in the video are ALPS RK09L12D0A1W. Other types will work but they may not fit in your breadboard as nicely. You can simply solder some wires to them to make them work. Slide pots (faders) will also work if that's what you're into.

If you are planning to make a permanent version of this circuit, think about how you will mount the potentiometers and the size of knobs you will use before you buy your pots.

Buying An Arduino

As you may have heard, Arduino LLC (the company that created the brand) had a falling out with the manufacturing company that produced the original boards. There are now two entities, Arduino.cc and Arduino.org. Both make their own version of the UNO. The version produced by Adafruit for Arduino.cc is considered to be the official version. The Arduino.org board should also work (although the Arduino IDE may complain a bit when you plug it in).

The Software

To make things simple, I have created a plug and play program that will allow you to customize your controller. All you need to do is tell the software the number of controls you will be using and how these controls should behave and the software will take care of the details. The video explains how to configure the software for your project.

Download the software HERE

Part List (With Amazon links)

Here are the parts you will need to complete this tutorial:

Arduino UNO or Arduino UNO (Official Adafruit Version)

6 x 10K Potentiometers (Linear taper) - Inexpensive
or model used in video

Breadboard (63 pin width)

MIDI Jack

2 x 220 Ohm Resistors

Jumper Wires

MIDI Cable

Build It!

Watch this video for a step by step guide.

Wednesday, 30 September 2015

MIDI for the Arduino - Reading MIDI CC Messages

Be a Control Freak


In this installment of the MIDI for the Arduino series, we will look at using MIDI CC messages to control our Arduino board.

Before You Start

If you are new to this series you will first need to build the MIDI Input circuit described HERE.

You will also need to install the Arduino MIDI library as described HERE.

What is MIDI CC?

The 'CC" in MIDI CC stands for Continuous Controller or Control Change. Like everything on the internet, there is much debate over the correct term. I like to think of the physical knob as a Continuous Controller and the data it produces as Control Change messages. Everybody wins!!

See The Light

To demonstrate this topic, we will build up a little LED light show that can be controlled by incoming CC data. Don't be fooled by the simplicity of this project. With the right interface circuit, you could run full size stage lighting using this concept.

Build It

Download the software HERE and upload it to your Arduino. ** NOTE - Make sure you disconnect the wires from your Arduino's RX and TX pins before you send the program. If you don't, you will get an error message and the upload will fail. **

Now watch the video and follow along. Have fun!


Wednesday, 8 July 2015

MIDI for the Arduino - Understanding MIDI Language

Computer Science for Musicians


Have you ever looked at the back pages of a synthesizer manual? It's filled with charts and tables that resemble the markings found on debris from a UFO crash site. But do not despair!

The following video will provide a crash course in Computer Science to help you take control of your Midi device. As a bonus, you can astound your band mates with your new found knowledge of Hexadecimal to Binary number conversions. Enjoy!


Thursday, 14 May 2015

Build the Auduino Granular Synth - MIDI Upgrade

Ever since I posted the original Auduino Granular Synth tutorial, I have been receiving requests to modify the circuit for MIDI control.

So, after several long nights of work I am proud to present the MIDI Update for the Auduino. This update allows the Auduino to respond to MIDI Note and Pitch Bend messages from a MIDI controller. As a fun bonus, I programmed the middle potentiometer to play a Major Pentatonic scale in the key of the note currently being held on the keyboard.

Build It

Watch this Video for construction and programming details.


The Arduino MIDI Library

This update uses the Arduino MIDI Library as a foundation. You can download the MIDI Library HERE. Make sure it is installed before you attempt to compile the software.

The Software

You can download the software HERE. Open up the program in the Arduino IDE and upload it to your Auduino circuit (Video provides details). Also included is the Drill Template for installing the MIDI Jack.

DIP Switch Option

The challenge with this project was trying to make it all fit in the existing enclosure. I didn't want to over-complicate things by adding new controls. That being said, I still thought it would be important to have the ability to change the MIDI channel.

By adding a simple 4-Position DIP Switch, you can easily change the MIDI channel that the synth responds to. Once the switch is installed, the Auduino will be set to the channel as outlined in the following chart.

Switches = MIDI Channel (0=OFF 1=ON)
0000 = 1    0001 = 2    0010 = 3    0011 = 4
0100 = 5    0101 = 6    0110 = 7    0111 = 8
1000 = 9    1001 = 10   1010 = 11   1011 = 12
1100 = 13   1101 = 14   1110 = 15   1111 = 16

Parts List (With affiliate links to Amazon.com)

Tools

Monday, 27 April 2015

Build the Auduino Granular Synth - Line Level Upgrade

A whole new level


If you have been following this series from the beginning, hopefully you have built your own Auduino Granular Synth and enjoyed many fun filled hours making noise.


The Auduino circuit was designed to be a quick and easy project that you could slap together with a bare minimum of parts. Because of this, there are some areas of the design that have room for refinement.

The audio output of the synth comes directly from a Digital Pin on the ATMega chip and as you may know, these pins output a 5 Volt signal. Most audio amplifiers are expecting a peak-to-peak signal at a level closer to 1 Volt. This is referred to as Line Level.

The official Auduino website addresses this issue by stating "Strictly speaking, it outputs at 5V rather than the 1V line level, but most amplifiers don't seem to mind". So basically, if you are happy with the way the circuit is working, read no further and enjoy it. As for myself, being the compulsive tinkerer that I am, I wanted to see if I could make the output of the synth a little more well-behaved.

After a bit on searching, I found a filter circuit on the Munich Maker Lab page that looked promising. It is a simple circuit consisting of two capacitors and a resistor.

I built up the circuit and connected it to the output of my Auduino and was pleased when my oscilloscope showed a signal level much closer to line level. There was only one problem, the "personality" seemed to have been removed from the synth.

The original Auduino circuit has some really aggressive high end that produces some wonderfully obscene sounds when you sweep the pots in the upper registers. With the filter circuit in place, the synth was far more polite and bland.

I started modifying the circuit and found that by lowering the value of the 100nF capcitor, the high frequency magic would re-appear. After much tweaking, a 33nF cap seemed to be the sweet spot for the circuit.


Parts List (With links to Amazon)

1 x 33nF Film Capacitor
1 x 100uF Electrolytic Capacitor 25V
1 x 2.2K Resistor 1/4 Watt

Thursday, 19 March 2015

MIDI for the Arduino - Build a MIDI Output Circuit

Take Control


In this installment of the MIDI for the Arduino series, we are going to assemble a Midi Output Circuit and connect it to your Arduino UNO. This circuit is as easy as it gets.

Next we'll create a simple test program that will verify that everything is working. Download the file HERE.

If you're new to this series, check out the first article where we look at how a MIDI circuit works. This will help you understand what you are building here.

I am assembling the circuit on a small solder-less breadboard. The video will walk you through the steps of putting it together. Take your time and double check your work. Good luck!

The Arduino Midi Library can be downloaded HERE.



Schematic for the circuit.
MIDI Output Circuit