{"id":1942,"date":"2014-08-26T22:16:01","date_gmt":"2014-08-27T02:16:01","guid":{"rendered":"https:\/\/itp.nyu.edu\/physicalcomputing\/?page_id=1942"},"modified":"2022-11-06T18:06:56","modified_gmt":"2022-11-06T23:06:56","slug":"lab-arduino-to-daw","status":"publish","type":"page","link":"https:\/\/itp.nyu.edu\/physcomp\/labs\/labs-serial-communication\/lab-arduino-to-daw\/","title":{"rendered":"Lab: Arduino to Digital Audio Workstation"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>This lab covers the process of taking MIDI messages sent from the Arduino and creating sound with them via a Digital Audio Workstation (DAW) such as Ableton LIVE, Logic or Garageband.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Youll_Need_to_Know\"><\/span>What You\u2019ll Need to Know<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To get the most out of this lab, you should be familiar with the following concepts. You can check how to do so in the links below:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>How to <a href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/soldering\/\" target=\"_blank\" rel=\"noreferrer noopener\">Solder a connector<\/a><\/li><li><a class=\"wikilink\" style=\"color: #37aad1;\" rel=\"noopener noreferrer\" href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/labs-arduino-digital-and-analog\/digital-input-and-output-with-an-arduino\/\" target=\"_blank\">Digital Input with Arduino<\/a><\/li><li><a class=\"wikilink\" style=\"color: #37aad1;\" rel=\"noopener noreferrer\" href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/analog-in-with-an-arduino\/\" target=\"_blank\">Analog Input with Arduino<\/a><\/li><li>What is an&nbsp;<a class=\"wikilink\" style=\"color: #37aad1;\" rel=\"noopener noreferrer\" href=\"http:\/\/arduino.cc\/en\/Reference\/Libraries\" target=\"_blank\">Arduino Library<\/a><\/li><li>How to <a href=\"https:\/\/itp.nyu.edu\/physcomp\/lab-intro-to-serial-communications\/\">communicate serially with the Arduino<\/a> and how to send <a href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/labs-serial-communication\/lab-serial-input-to-the-p5-js-ide\/\" target=\"_blank\" rel=\"noreferrer noopener\">values serially in different formats<\/a><\/li><li>How to send <a class=\"wikilink\" style=\"color: #37aad1;\" rel=\"noopener noreferrer\" href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/lab-midi-output-using-an-arduino\/\" target=\"_blank\">MIDI Output using Arduino<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Things_Youll_Need\"><\/span>Things You\u2019ll Need<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-breadboard.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-breadboard-150x150.jpg\" alt=\"Photo of a solderless breadboard\" class=\"wp-image-5909\"\/><\/a><figcaption>Figure 1. A solderless breadboard.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-jumper-wires.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-jumper-wires-150x150.jpg\" alt=\"Photo of flexible jumper wires\" class=\"wp-image-5908\"\/><\/a><figcaption>Figure 2. 22 AWG hookup wire<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/arduino1-e1408455435943.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/arduino1-e1408455435943-150x150.jpg\" alt=\"An Arduino Uno. The USB connector is facing to the left, so that the digital pins are on the top of the image, and the analog pins are on the bottom.\" class=\"wp-image-1205\"\/><\/a><figcaption>Figure 3. An Arduino Uno or&#8230;<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-arduino-nano-33-iot.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-arduino-nano-33-iot-150x150.jpg\" alt=\"Photo of an Arduino Nano 33 IoT module. The USB connector is at the top of the image, and the physical pins are numbered in a U-shape from top left to bottom left, then from bottom right to top right.\" class=\"wp-image-5921\"\/><\/a><figcaption>Figure 4. Arduino Nano 33 IoT<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/midi_jack.png\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/midi_jack-150x150.png\" alt=\"Photo of a 5-pin MIDI socket. Three wires protrude from the back. \" class=\"wp-image-2496\" srcset=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/midi_jack-150x150.png 150w, https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/midi_jack-300x300.png 300w, https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/midi_jack.png 1024w\" sizes=\"(max-width: 150px) 85vw, 150px\" \/><\/a><figcaption>Figure 5. A 5-pin MIDI socket (for the Uno version only)<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-220-resistor.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-220-resistor-150x150.jpg\" alt=\"Photo of a handful of 220-ohm resistors.\" class=\"wp-image-5913\"\/><\/a><figcaption>Figure 6. 220-ohm resistors (for the Uno version only)<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/fsr.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/fsr-150x150.jpg\" alt=\"Force-sensing resistor (FSR). These sensors have a resistive rubber inside that changes its resistance depending on the force with which you press on the sensor. The one shown is a flat disc about 5cm in diameter\" class=\"wp-image-2405\"\/><\/a><figcaption>Figure 7. Force-sensing resistor<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-10k-resistor.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-10k-resistor-150x150.jpg\" alt=\"Photo of a handful of 10-kilohm resistors\" class=\"wp-image-5915\"\/><\/a><figcaption>Figure 8. 10-kilohm resistors.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-pushbuttons.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/pcomp-kit-f2019-pushbuttons-150x150.jpg\" alt=\"Photo of four breadboard-mounted pushbuttons\" class=\"wp-image-5918\"\/><\/a><figcaption>Figure 9. Pushbuttons<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIsport.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIsport-150x150.jpg\" alt=\"Photo of a MIDISport USB-to-MIDI adaptor. \" class=\"wp-image-1949\"\/><\/a><figcaption>Figure 10. MIDISport 2&#215;2 or other USB-to-MIDI interface (Serial versions only). ITP has some in the equipment room.<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"MIDI_approaches_Serial_SoftwareSerial_or_MIDIUSB\"><\/span>MIDI approaches: Serial, SoftwareSerial, or MIDIUSB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>There are three approaches you can take to MIDI output, depending on the board you&#8217;re using and the application you have in mind.<\/p>\n\n\n\n<p>If you&#8217;re communicating with a MIDI sound module like a synthesizer or sample, you&#8217;ll need to use either Serial or SoftwareSerial output. On the Uno, SoftwareSerial is best. On most other Arduino models, there is a second hardware serial port, <a href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/lab-midi-output-using-an-arduino\/#Second_Hardware_Serial_Port\">Serial1<\/a>, that you can use for MIDI output.<\/p>\n\n\n\n<p>If you&#8217;re communicating with a MIDI program like Ableton, GarageBand, or a soundFont synth like Sforzando, either on a laptop or mobile device, then <a href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/lab-midi-output-using-an-arduino\/#Using_MIDIUSB\">MIDIUSB<\/a> is the way to go. The Uno can&#8217;t communicate using MIDIUSB, but the Nano 33 IoT, the MKR series, the Leonardo, Micro, or Due can.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"SoftwareSerial_Approach\"><\/span>SoftwareSerial Approach<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If you&#8217;re using an Uno or any board with only one serial port, the SoftwareSerial library is your best bet. This section describes how to wire and program your board for SoftwareSerial.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"_Build_the_MIDI_Circuit\"><\/span>&nbsp;Build the MIDI Circuit<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Use the <a href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/labs-serial-communication\/lab-midi-output-using-an-arduino\/#Build_the_MIDI_Circuit\">MIDi circuit from the MIDI Output lab<\/a>, or any variation on it you want, as long as it sends MIDI:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_schem.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"185\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_schem-300x185.png\" alt=\" Schematic view of an Arduino connected to a voltage divider and a switch. The switch and voltage divider are connected as shown above. the MIDI connector's pin 2 is connected to a 220-ohm resistor, and the other side of the resistor is connected to +5 volts. Pin 3 of the MIDI connector is connected to ground. Pin 4 of the MIDI connector is connected to the Arduino's digital pin 3.\" class=\"wp-image-2210\" srcset=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_schem-300x185.png 300w, https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_schem.png 577w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a><figcaption>Figure 11. Schematic view of an Arduino connected to a voltage divider and a switch, with a MIDI connector as well.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_bb_components.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"163\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_bb_components-300x163.png\" alt=\"Breadboard view of an Arduino connected to a voltage divider, a switch, and a MIDI connector. This view builds on the breadboard view above. The voltage divider and the switch are connected to analog pin 0 and digital pin 10 as described above. The MIDI connector's pin 2 is connected row 19 in the right center section of the breadboard. A red wire connects it to row 21. From there, a 220-ohm resistor connects to the right side voltage bus. The MIDI connector's pin 3 connects to the right side ground bus. The connector's pin 4 connects to row 14 in the right center section, and a blue wire connects from there to digital pin 3 on the Arduino.\" class=\"wp-image-2211\" srcset=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_bb_components-300x163.png 300w, https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LabMidiOut_bb_components.png 578w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/a><figcaption>Figure 12. Breadboard view of an Arduino connected to a voltage divider, a switch, and a MIDI connector.<\/figcaption><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>This circuit doesn&#8217;t actually match the MIDI specification, but it works with all the MIDI devices we&#8217;ve tried it with. This circuit includes an analog and a digital sensor to allow for physical interactivity, but those aren&#8217;t necessary to send MIDI data.<\/p>\n\n\n\n<div class=\"wp-block-image urllink\"><figure class=\"aligncenter\"><a class=\"urllink\" href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/ArduinoInstrument.jpg\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/ArduinoInstrument.jpg\" alt=\"Photo of an Arduino connected to a breadboard. The breadboard contains a MIDI output circuit like the one shown above.\"\/><\/a><figcaption>Figure 13. An Arduino MIDI circuit ready to play<\/figcaption><\/figure><\/div>\n\n\n\n<p>Here we have a little Arduino instrument we whipped up using the MIDI Output Lab. It features two photocells, one controlling the pitch (or note being sent) and the other controlling the volume. Now that we are sending MIDI messages, we need to get them into the computer.<\/p>\n\n\n\n<div class=\"wp-block-image urllink\"><figure class=\"aligncenter\"><a class=\"urllink\" href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIsport.jpg\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIsport.jpg\" alt=\"Photo of a USB-to-MIDi interface.\"\/><\/a><figcaption>Figure 14. The MIDISport 2&#215;2 USB-to-MIDI interface<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"USB-to-MIDI_Interfaces\"><\/span>USB-to-MIDI Interfaces<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>To get the MIDI messages into the computer, you will need a USB MIDI interface. A MIDISport 2&#215;2 like the one pictured can be found in the Equipment Room. For more information see the <a href=\"http:\/\/m-audio.com\/products\/view\/midisport-2x2-anniversary-edition\">technical details on the MIDISport<\/a>. The interface connects to your computer via the USB cable and to the Arduino via a MIDI cable. Connect the Arduino to the MIDI In port of the interface.<\/p>\n\n\n\n<p>Alternatively, you can&nbsp;<a href=\"https:\/\/itp.nyu.edu\/physcomp\/labs\/labs-serial-communication\/lab-midi-output-using-an-arduino\/#Using_MIDIUSB\">use the MIDIUSB library to send MIDI via USB<\/a> if you are using an ARM-based Arduino board like the MKR series. Doing so will eliminate the need for a USB-to-MIDI adapter like the MIDISport. Your Arduino will communicate directly with the computer as a MIDI device over USB.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Note_on_MIDIUSB_and_Serial_Ports\"><\/span>Note on MIDIUSB and Serial Ports<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The MIDIUSB library on the SAMD boards (MKRZero, MKR1xxx, Nano 33IoT) has an unusual behavior: using it changes the serial port enumeration. When you include the MIDIUSB library in a sketch, your board\u2019s serial port number will change. For example, on MacOS, if the port number is&nbsp;<code>\/dev\/cu.usbmodem14101<\/code>, then adding the MIDIUSB library will change it to&nbsp;<code>\/dev\/cu.usbmodem14102<\/code>. Removing the MIDIUSB library will change it back to&nbsp;<code>\/dev\/cu.usbmodem14101<\/code>. Similarly, if you double-tap the reset button to put the board in bootloader mode, the serial port will re-enumerate to its original number.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Windows_and_MIDIUSB\"><\/span>Windows and MIDIUSB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>You may have trouble getting these MIDI sketches to work on Windows. On Windows, the default Arduino drivers must be uninstalled so the system can recognize the Arduino as both serial device and MIDI device. Read&nbsp;<a href=\"https:\/\/github.com\/arduino\/ArduinoCore-samd\/releases\/tag\/1.8.2\">this issue<\/a>&nbsp;and follow the instructions there.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Audio_MIDI_Setup\"><\/span>Audio MIDI Setup<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To connect with your device on MacOS you&#8217;ll need the Audio MIDI Setup application. It&#8217;s in the Utilities directory of your Applications directory.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/AudioMIDIwindow.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1544\" height=\"1090\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/AudioMIDIwindow.png\" alt=\"A screenshot of the Audio MIDI setup window in MacOS. The window shows the MIDi devices that the operating system recognizes.\" class=\"wp-image-5041\" srcset=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/AudioMIDIwindow.png 1544w, https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/AudioMIDIwindow-768x542.png 768w, https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/AudioMIDIwindow-1280x904.png 1280w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption>Figure 15. The Audio MIDI setup window in MacOS<\/figcaption><\/figure><\/div>\n\n\n\n<p>If you&#8217;re not using the <a href=\"https:\/\/www.arduino.cc\/en\/Reference\/MIDIUSB\">MIDIUSB<\/a> library, you will need to download drivers for the MIDI interface you are using. Go to the manufacturer&#8217;s website (for example, <a href=\"http:\/\/m-audio.com\/support\/drivers\">M-Audio&#8217;s driver page<\/a>, where you can find the MIDISport under MIDI Interfaces) and download the drivers that correspond to your interface and operating system. Once the drivers are installed, the interface should be recognized by your computer. To check this, open up Audio MIDI Setup. If you only see the Audio setup, click Window in your task bar and select Show MIDI Studio. You should then see the window pictured here and the interface should appear colored in. Interfaces that are not connected will appear faded as shown above.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Preferences_in_your_DAW_Software\"><\/span>Preferences in your DAW Software<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-image urllink\"><figure class=\"aligncenter\"><a class=\"urllink\" href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LIVEmidiPrefs.jpg\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/LIVEmidiPrefs.jpg\" alt=\"Screenshot of the MIDI Sync Control Panel in Ableton Live, showing the MIDI ports turned on.\"\/><\/a><figcaption>Figure 16. The MIDI Sync control panel in Ableton Live<\/figcaption><\/figure><\/div>\n\n\n\n<p>Now that your computer recognizes the MIDI interface, you need to set up your preferences in the DAW. In this case, we are using <a rel=\"noopener noreferrer\" href=\"https:\/\/www.ableton.com\/en\/live\/new-in-9\/\" target=\"_blank\">Ableton Live<\/a> so open up the preferences window. Ableton will recognize the interface but the ports need to be set. Find your interface and where it says Input, turn on the button listed under Track. Now Live will receive MIDI messages on these ports.<\/p>\n\n\n\n<div class=\"wp-block-image urllink\"><figure class=\"aligncenter\"><a class=\"urllink\" href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIfrom.png\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIfrom.png\" alt=\"Screenshot of the Ableton Live Devices window, showing the MIDISport enabled for a given track.\"\/><\/a><figcaption>Figure 17. Screenshot of the Ableton Live Devices window<\/figcaption><\/figure><\/div>\n\n\n\n<p>Select a MIDI track and add an instrument. Live has some instruments built in or you can use a third party plugin as a sound generator. In the screenshot above, the Operator FM synthesizer is selected. If you only have one device going in to Live, it is fine to leave the track&#8217;s MIDI input set to &#8220;All Ins.&#8221; If you have more than one, you will probably want to select a specific port as shown in the image above.<\/p>\n\n\n\n<div class=\"wp-block-image urllink\"><figure class=\"aligncenter\"><a class=\"urllink\" href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIRecordArm.png\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDIRecordArm.png\" alt=\"Ableton Live Screenshot of an track armed to take input from a MIDI input.\"\/><\/a><figcaption>Figure 18. Arm your tracks with your MIDI inputs<\/figcaption><\/figure><\/div>\n\n\n\n<p>The last step is to Arm the track by clicking the Arm button on the bottom of the channel strip. Now you are ready to go. Start sending MIDI from the Arduino and you should be hearing your lovely new instrument.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"MIDI_Monitor_App\"><\/span>MIDI Monitor App<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-image urllink\"><figure class=\"aligncenter\"><a class=\"urllink\" href=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDImonitor.jpg\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/itp.nyu.edu\/physcomp\/wp-content\/uploads\/MIDImonitor.jpg\" alt=\"Screenshot of MIDI monitor app, showing note on and note off messages coming from a USB MIDI source.\"\/><\/a><figcaption>Figure 19. Snoize MIDI monitor is like a Serial Port monitor for MIDI<\/figcaption><\/figure><\/div>\n\n\n\n<p>The Snoize MIDI monitor is a useful application to have if you do lots of MIDI input to your computer. You can download it from <a href=\"http:\/\/www.snoize.com\/MIDIMonitor\/\">Snoize&#8217;s download page<\/a>.<\/p>\n\n\n\n<p>When running the application, MIDI Monitor will show you all the information that is coming in through the MIDI interface, such as the source, channel, message and note values. This is especially useful for debugging your MIDI instrument.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This lab covers the process of taking MIDI messages sent from the Arduino and creating sound with them via a Digital Audio Workstation (DAW) such as Ableton LIVE, Logic or Garageband.<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":1979,"menu_order":402,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[42,15,39,9,17],"tags":[],"class_list":["post-1942","page","type-page","status-publish","hentry","category-asynchronous-serial","category-lab","category-midi","category-serial-communication","category-sound"],"_links":{"self":[{"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/pages\/1942"}],"collection":[{"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/comments?post=1942"}],"version-history":[{"count":27,"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/pages\/1942\/revisions"}],"predecessor-version":[{"id":10720,"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/pages\/1942\/revisions\/10720"}],"up":[{"embeddable":true,"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/pages\/1979"}],"wp:attachment":[{"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/media?parent=1942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/categories?post=1942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itp.nyu.edu\/physcomp\/wp-json\/wp\/v2\/tags?post=1942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}