The necessary programs used for Mac users:
- LMMS This is the direct download link to the BETA version needed for Apple MIDI Support
- Hairless Serial MIDI
If you navigate to the LMMS download page yourself please choose the BETA version as the Stable version does not yet support Apple MIDI.
Once downloaded place both one folder for easy use. LMMS is the only of the bunch that needs to be formally installed. Hairless will just run from the folder.
A standard MIDI device uses a special MIDI connector and communicates in MIDI protocol, or language, with a digital audio workstation (DAW) like Garageband or LMMS. We are not using that connector and are instead using an Arduino and USB Cable. But utilizing some digital trickery our DAW of choice will see the Arduino MIDI Controller as a real MIDI device.
To do this two connections much be made. A USB to virtual MIDI cable and that virtual MIDI cable to our DAW in this case LMMS. Hairless is our USB to MIDI cable and the MIDI to DAW part is handled my the Mac OS. By using this method, a key pressed on our controller will travel into our computer via USB and into LMMS as a MIDI signal and then into notes on a piano.
The order of opening the programs is important in this process. The LMMS Software will not recognize the virtual cable if the cable isn't set up beforehand.
If at the end of this process nothing is working for you, close LMMS and restart the piano, make sure hairless is showing activity before moving onto LMMS.
Setting up Mac Settings
Go into the Spotlight or search bar at the top right of your screen and enter "Audio MIDI Setup". Alternatively you can find this program in the Applications then Utility folder in finder.
Searching the Spotlight
Navigate to the window tab on top and press "Show MIDI Studio".
Show MIDI devices
A new window will appear and we want to double click the red box titled "IAC Driver".
The IAC Driver
After double clicking that, press the checkbox with the text "Device is online".
Device is online
With that done, one of our virtual cables is ready.
Double click the Hairless-MIDISerial application
A new Hairless window
Click the Serial<->MIDI Bridge On thus setting it to the off position. Make sure your Arduino MIDI Controller is plugged IN and you'll want to select it from "Serial Port" drop down menu on the left. Under the MIDI Out drop down on the top right select that IAC Driver.
Correct Hairless settings
With the right settings input we can click Serial<->MIDI Bridge On again and turn it on.
Open LMMS (Only works if LMMS is opened last)
A new LMMS project
LMMS will open with a UNTITLED project, this is fine for now. In order for our Arduino MIDI Controller to show we'll have to change some settings. From the top application bar select LMMS then down to "Preferences".
Move down to the speaker icon which is second from the bottom and select "SDL" from the Audio Interface list.
Move down another icon to the keyboard picture and select "Apple MIDI" from the MIDI Interface list.
Press OK to confirm these settings and then restart LMMS. Now we can work on that UNTITLED project. On the left hand side is a vertical bar with icons. Select the Music note and it will open a menu called My samples. Double click on the instruments folder to expand it, either double click on the e_piano_accord01.ogg or drag it into the Song Editor window. This will create a new track, if you double clicked it will appear in the Beat + Bassline Editor window. Feel free to select the setting/gear on the premade tracks in the same window to delete it, we are only focusing on the piano one for now.
Select the piano track where it shows the filename (e_piano_accord01.ogg) this will open up a new window specifically for the track. The track window is separated into multiple tabs, under the general settings tab is a menu bar with PLUGIN, ENV/LFO, FUNC, FX and "A PICTURE OF A KEYBOARD" on it. Select "A PICTURE OF A KEYBOARD" and the window will change to the MIDI tab. Select the long button next to ENABLE MIDI INPUT, and it will light up green along with the channel and velocity sections. Hover your mouse over the Channel Box, the mouse should change to hand pointed. To increase or decrease the channel number you have to scroll up on your mouse (if you have a scroll wheel) or using two fingers on your mouse pad, scroll down. We want the Channel to be on number 2 because of how our code is written.
Correct Piano Settings
Select the button in the MIDI tab that looks like a Piano in a grey box (not the one at the bottom of the window), or back in the window with the track and select the gear. In the drop down window select MIDI > INPUT> then IAC Driver. If you select the piano in the MIDI tab you simply select the IAC Driver.
Press some keys on your MIDI Keyboard, do you hear anything? is the LMMS software registering anything? Check out the Debug window in Hairless, is the proper information coming through?