MIDI records performance data β notes, timing, velocity β not audio, so you can edit every aspect after recording without quality loss. Set up a MIDI track, connect a software instrument, record or draw notes in the piano roll, then refine timing with quantisation, shape dynamics with velocity, and add expression with CC automation. These five skills cover 90% of everything you will ever do with MIDI in any DAW.
Updated May 2026 β MusicProductionWiki
MIDI is the invisible infrastructure of modern music production. Every software instrument you trigger, every drum pattern you program, every chord progression you sketch out β all of it runs on MIDI. Understanding how MIDI works inside your DAW is not optional knowledge for producers: it is the foundational skill that everything else is built on. This guide covers the complete practical workflow, from signal flow and track setup through piano roll editing, velocity shaping, quantisation, CC automation, and humanisation. DAW-specific notes for Ableton Live, Logic Pro, FL Studio, and Pro Tools are included throughout.
What MIDI Actually Is β and What It Isn't
MIDI β Musical Instrument Digital Interface β is a protocol, not an audio format. When you record MIDI in your DAW, you are not capturing sound. You are capturing a set of instructions: which note was played, when it started, how hard it was hit (velocity), how long it was held, and any controller movements made during the performance β pitch bend, modulation wheel position, sustain pedal state, and so on.
The instrument that converts those instructions into actual sound is entirely separate from the MIDI data itself. This separation is the fundamental advantage of MIDI. Because performance data and sound generation are decoupled, you can edit any aspect of the performance after the fact without degrading audio quality, and you can swap the instrument entirely β the same piano roll data that drives a Rhodes piano can be pointed at a synth bass, a string section, or a drum kit, and the performance will remain identical.
Compare this with audio recording: once you record a guitar take, the performance and the sound are fused together. If the timing is slightly off, you have to time-stretch the audio and accept some artefacts. If you want a different guitar tone, you have to re-record. MIDI does not have any of these constraints. A MIDI region is infinitely editable β notes can be moved, transposed, lengthened, shortened, and re-timed with no generational loss whatsoever, because there is no audio to degrade.
For a deeper look at how these two approaches compare in practice, see our guide to MIDI vs audio explained β it covers the practical tradeoffs for every production scenario.
Setting Up a MIDI Track in Your DAW
The first step in any MIDI workflow is creating a MIDI track and routing it to a software instrument. Every major DAW handles this slightly differently, but the underlying logic is identical: create a track, assign an instrument, arm for recording, and play.
In Ableton Live
Create a MIDI track using Ctrl+Shift+T on Windows or Cmd+Shift+T on Mac. In the track's instrument slot β the device chain area visible in the Detail View at the bottom of the screen β drag a software instrument from the browser on the left, or click into the slot and browse your installed plugins. Set the MIDI From input at the top of the track to your controller (or All Ins if you want every connected MIDI device to be able to trigger this track). Click the red record arm button on the track. When you press keys on your MIDI keyboard, the instrument responds in real time. Press the global Record button in the transport to capture the performance into a clip.
In Logic Pro
Use Option+Cmd+S, or go to Track > New Software Instrument Track. Logic will ask you to choose an instrument β select from the built-in instruments like the ES2, Alchemy, or Retro Synth, or choose an Audio Unit plugin from the plugin menu. The track appears in the timeline with a MIDI region ready to receive input. Arm the track, press R to record, and play your controller. Logic records the performance into a region that you can then open in the Piano Roll editor by double-clicking it.
In FL Studio
FL Studio's approach is distinctly different from other DAWs. Rather than timeline-based MIDI tracks, FL centers around the Channel Rack β a list of instruments where each instrument has its own pattern-based piano roll. Click on any instrument channel to bring it into focus, then open the Piano Roll (F7 shortcut). Press the record button in the transport and play your controller β FL captures MIDI into the current pattern for that instrument. For beat programming specifically, the Step Sequencer offers a grid-based interface where each cell represents a 1/16th-note hit β this is faster than the piano roll for drum pattern entry and is one of FL Studio's greatest strengths.
In Pro Tools
Go to Track > New and choose Instrument Track. Insert a virtual instrument on the instrument input insert slot at the top of the track's insert chain. Arm the track for recording. Pro Tools records MIDI to MIDI regions on the timeline and the instrument processes it in real time. You can edit MIDI in Pro Tools using the MIDI Editor window (Window > MIDI Editor) or directly inline on the track.
The Piano Roll: Drawing, Editing, and Arranging Notes
The piano roll is the primary editing environment for MIDI data. Its layout is consistent across all DAWs: the vertical axis represents pitch (higher notes toward the top, lower notes toward the bottom), with a keyboard graphic along the left edge to identify pitches. The horizontal axis represents time, divided by a grid according to your project's tempo and time signature. Each MIDI note appears as a horizontal block β its position indicates when it starts, its length shows how long it is held, and its colour or brightness often reflects its velocity.
Drawing Notes
In most DAWs, selecting the pencil or draw tool allows you to click on the piano roll grid to create notes. Click and drag horizontally to set the note length. In Ableton, holding Ctrl while in selection mode and double-clicking creates a note without switching tools. In Logic, pressing Command while hovering enables the pencil tool temporarily. FL Studio defaults to draw mode, where left-click creates a note and right-click deletes it. Most DAWs also support step-input recording β pressing a key on your MIDI keyboard while the cursor is in step-input mode advances through the grid one position at a time, placing notes without real-time recording.
Selecting and Moving Notes
Switch to the selection tool (usually the arrow or pointer). Click to select individual notes, Shift+click to add to the selection, or drag a selection box around multiple notes. Drag selected notes to move them in pitch and time. Hold Shift or a modifier key to constrain movement to one axis only β this prevents you from accidentally changing pitch when you only want to move timing, or vice versa.
Use Ctrl+A (or Cmd+A on Mac) to select all notes in the current region. Once selected, you can transpose notes using the arrow keys β each press moves the selection up or down by one semitone. Holding Shift moves by one octave in most DAWs.
Changing Note Length
Hover over the right edge of a note until the resize cursor appears, then drag to change the length. For adjusting multiple notes at once, select them all and resize one β some DAWs (Logic, Ableton) apply the change proportionally to all selected notes. Most DAWs also have a force-to-length function that snaps all selected notes to a uniform duration β useful for making staccato passages consistent.
Zooming and Navigation
Working in the piano roll efficiently requires comfortable zooming. In Ableton, Ctrl+scroll wheel zooms horizontally; in Logic, pinch on a trackpad works. Learn the keyboard shortcuts for your DAW β zooming to fit the region, zooming in on a selection, and snapping the playhead to your edit point are daily-use skills that save enormous amounts of time over a production career.
Grid Settings and Quantisation While Drawing
The note grid controls the snap resolution when drawing notes. Most producers work at 1/16th note resolution for melodic and harmonic parts, and 1/32nd note for detailed drum programming or micro-timed percussion. If you are drawing a bassline with off-beat ghost notes, you may want to temporarily switch to a triplet grid to access the triplet subdivisions. Always check your grid setting before drawing β accidentally placing notes at 1/1 resolution (whole notes) when you intended 1/16ths is one of the most common beginner errors.
Velocity: The Foundation of Dynamic Expression
MIDI velocity is a value from 1 to 127 that represents how hard a key or pad was struck. It is one of the most important parameters in MIDI production because it is the primary mechanism by which instruments simulate the dynamics of real performances. A piano played fortissimo sounds different from the same piano played pianissimo β and that difference is communicated through velocity.
Higher velocity values typically produce louder, brighter, or more intense sounds, depending on how the instrument is programmed. A well-designed sample library will have multiple velocity layers β different recordings made at different playing intensities β that the instrument crossfades between according to incoming velocity. At velocity 127, a sampled piano might play its fortissimo layer; at velocity 40, it plays the pianissimo sample. The result is a convincing simulation of dynamic range.
Viewing and Editing Velocity in the Piano Roll
In most DAWs, velocity is displayed as a row of vertical bars below the piano roll. Each bar corresponds to one note β taller bars represent higher velocity, shorter bars represent lower velocity. You can click and drag individual bars to adjust a single note's velocity. Most DAWs also allow you to drag across multiple bars to ramp velocity up or down across a phrase β this is essential for creating natural crescendos and decrescendos in melodic lines.
In Ableton Live, the velocity lane is accessed by clicking the small triangle at the bottom left of the MIDI clip editor. In Logic Pro, the velocity lane is visible by default at the bottom of the Piano Roll window. In FL Studio, right-click any note and select the velocity option, or press Alt+V to open the velocity lane view.
Velocity Strategies for Different Instruments
| Instrument Type | Velocity Approach | Typical Range | Key Technique |
|---|---|---|---|
| Piano / Keys | High variation, mirrors dynamics | 40β110 | Accent beat 1, lower off-beats |
| Drums β Kick | Consistent with subtle groove variation | 90β120 | Ghost kicks at 60β75 for depth |
| Drums β Snare | Main hits high, ghost notes very low | Ghost: 20β55 / Hit: 90β127 | Velocity contrast creates groove |
| Hi-hats | Alternating accents mimic hand movement | 50β100 | Accent every other hit for realism |
| Strings / Orchestral | Gradual ramps for bowing dynamics | 30β110 | Draw velocity curves across phrases |
| Synth Leads | Often uniform unless filter-mapped | 80β100 | Accent phrase peaks for emphasis |
| Bass (synth/sample) | Moderate variation | 70β105 | Accented notes on beat create pocket |
One of the most effective velocity techniques for any melodic instrument is the accent pattern β boosting velocity on the notes that fall on strong beats or the peak of a phrase while keeping the surrounding notes at a lower level. This mirrors what a skilled human performer does naturally and is the single fastest way to make a programmed MIDI part feel musical rather than mechanical.
Quantisation: Fixing Timing Without Killing the Feel
Quantisation is the process of snapping MIDI note timings to a rhythmic grid β the nearest 1/16th note, 1/8th note, triplet, or other subdivision. It is one of the most powerful editing tools in any DAW, and one of the most easily misused.
Hard Quantisation
Hard quantisation moves every selected note exactly to the nearest grid position. In most DAWs this is achieved by selecting all notes and pressing Q (or the equivalent shortcut). The result is perfectly time-aligned MIDI β every note lands exactly on the grid. For drum machines, certain genres of electronic music, and any situation where mechanical precision is part of the aesthetic, hard quantisation is exactly what you want. For anything meant to sound like a human performance, it often sounds sterile.
Percentage-Based Quantisation (Strength)
Most DAWs offer a quantisation strength or percentage setting β typically presented as a slider or percentage value alongside the quantise grid selection. At 100%, every note goes exactly to the grid. At 50%, each note moves halfway between its original position and the nearest grid position. At 75%, notes move three-quarters of the way. This approach preserves some of the original timing feel while still tightening sloppy performances. For most melodic and harmonic MIDI parts, 70β85% strength is a good starting point.
Groove Quantisation
Groove quantisation is a more sophisticated technique β rather than snapping to a mathematical grid, it applies the timing feel extracted from a reference performance. In Ableton Live, you can drag a drum loop into a MIDI or audio clip and extract its groove, then apply that groove to any other MIDI clip in your project. Logic Pro has a similar system via the Groove Track feature. The result is that your programmed MIDI parts inherit the subtle push-pull timing of a real drum performance, which makes the whole track feel more cohesive.
For a dedicated deep-dive into swing and groove application, see our guide on how to use groove and swing in music.
Quantising to Triplets and Compound Grids
Not all music is in straight subdivisions. When working in genres like blues, jazz, shuffle-feel hip-hop, or anything with a swung feel, the underlying grid is a triplet feel β the beat is divided into three equal parts rather than two. If you quantise a naturally swung performance to a straight 1/16th grid, you will flatten the feel and make it sound wrong. Always match your quantisation grid to the underlying feel of the performance. If you are not sure, listen to the MIDI against the drum groove β if they clash, you are probably on the wrong grid.
CC Automation: Adding Expression Beyond Notes
MIDI Control Change messages β CC messages β carry controller data other than notes. They allow you to automate parameters of a software instrument over time from within the MIDI editor, adding expressive changes that would be impossible to represent with note data alone. Key standard CC numbers include:
- CC1 β Modulation wheel (commonly used to control vibrato depth in string and wind instruments)
- CC7 β Channel volume (overall level of the MIDI channel)
- CC11 β Expression (a secondary volume controller β use this for phrase-level dynamics, preserve CC7 for mix-level fader automation)
- CC64 β Sustain pedal (on/off toggle, values 0β63 = off, 64β127 = on)
- CC74 β Brightness/filter cutoff (used in many synths and sample libraries)
- CC91 β Reverb send depth (in General MIDI contexts)
- Pitch Bend β Not technically a CC message but a separate MIDI message type; represented in the same lane in most piano rolls
Drawing CC Automation
In all major DAWs, you can draw CC data directly in the piano roll's automation lanes. In Ableton Live, click the small Envelopes selector in the MIDI clip view β this opens a separate lane below the notes where you can choose any CC number from a dropdown and draw automation using the pencil tool. In Logic Pro, the Piano Roll has a dedicated automation lane at the bottom β click the dropdown, select the CC you want to edit, and draw. In FL Studio, the event editor handles CC data β right-click a knob or parameter and choose Create automation clip.
The most musically useful CC to start with for most instrument types is CC11 Expression. Drawing a gradual rise in CC11 over the course of a four-bar phrase β starting around value 40 and ending at 110 β creates a natural swell that mirrors how wind and string players breathe through their phrases. This single technique transforms programmed orchestral MIDI from sounding synthetic to sounding alive.
Using CC1 Modulation for Vibrato
On most orchestral and instrument sample libraries, CC1 modulation controls vibrato depth. Human string and wind players typically start a long note without vibrato, then gradually add it as the note sustains β a technique called expressive vibrato onset. To replicate this in your piano roll, draw a CC1 curve that stays near zero for the first half of a long note, then ramps up to around 80β90 over the second half. Combined with expression CC11 for dynamics, this creates a remarkably convincing simulation of live string or wind performance.
Pitch Bend Automation
Pitch bend is a powerful expressive tool for both electronic and realistic instrument simulation. For synth leads and basses, drawing pitch bend curves β especially a fast downward bend at the start of a note followed by a return to zero β simulates the attack articulation of a synthesiser played with the pitch wheel. For guitar emulations, pitch bend from a lower note up to the target pitch simulates string bending. The pitch bend range (the maximum semitone shift per maximum bend value) is set in the instrument or synthesiser, not in the MIDI data itself β check your instrument's settings for pitch bend range if the bend is going too far or not far enough.
For producers working on orchestral and cinematic content, CC automation is essentially mandatory. Our guide on how to make cinematic music covers orchestral MIDI workflows in detail, including specific CC assignments for major sample libraries.
Humanisation: Making MIDI Sound Like a Real Performance
Humanisation is the process of introducing small, controlled variations in timing, velocity, and note length to MIDI data so that it sounds less mechanical and more like a live performance. The human nervous system is incapable of perfect timing β even the world's best drummers and pianists play with micro-variations in timing on the order of 5β30 milliseconds. These variations are not errors; they are the texture of a real performance, and their absence is what makes rigidly quantised MIDI sound sterile.
DAW Humanise Functions
Most DAWs include a built-in humanise function. In Logic Pro, select all notes in the Piano Roll, then go to Functions > Humanize β a dialog opens where you can set the maximum random variation for position, velocity, and note length independently. In Ableton Live, there is no single humanise button, but you can use the Randomize function in the MIDI clip's context menu (right-click a clip), or use a MIDI Effect such as Random (for velocity randomisation) inserted before the instrument. In FL Studio, the Humanize function is in the piano roll under Tools > Humanize β it lets you set velocity and timing variation ranges separately.
Manual Humanisation Techniques
Automated humanise functions add random variation, but manual humanisation gives you more musical control. The key techniques are:
- Micro-timing nudges: After quantising a performance, zoom in and manually push or pull individual notes by 10β20 milliseconds (or about 1/128th to 1/64th note at most tempos). Notes on the beat tend to feel good when pushed slightly late; notes on the off-beat can feel good slightly early. This is the push-pull feel that characterises live drumming and jazz performance.
- Velocity variation: Rather than using uniform velocity for all notes in a phrase, introduce a natural contour. Notes at the start and end of phrases are often softer; notes at the peak of a melodic arc are often louder. Even small variations β a range of 15β25 velocity units across a phrase β make an enormous perceptual difference.
- Note length variation: In real performances, sustained notes are rarely held for exactly their notated value. A pianist will slightly shorten staccato notes depending on expressive intent, and will often slightly overlap or slightly gap legato notes depending on phrase shape. Introducing 10β15ms of variation in note-off times across a phrase adds realism that is hard to pinpoint consciously but easy to hear.
- Timing the breath: For wind instruments and vocals, leave very small gaps (5β10ms) between phrases to simulate the breath point. Legato lines that connect without any gap sound unrealistic for these instrument families.
Humanisation and Groove Working Together
The most effective humanisation approach combines groove quantisation (described in the section above) with manual velocity variation and note length adjustments. Groove quantisation handles the large-scale timing feel; manual velocity and length editing handles the phrase-level dynamics. Together, they address both the rhythmic texture and the expressive arc of a performance β the two dimensions of realism that matter most perceptually.
DAW-Specific Workflows and Advanced MIDI Techniques
Ableton Live: MIDI in Session and Arrangement View
Ableton is unique in offering two parallel editing environments for MIDI. Session View presents MIDI in clips β discrete, loopable blocks that can be triggered in any order. Arrangement View presents MIDI as a linear timeline. For composition and arrangement, most Ableton producers use Session View to develop clips and then drag finished parts into Arrangement View. The MIDI clip editor in Session View is particularly powerful because you can view and edit a clip's MIDI data in real time while it is looping β changes are heard immediately on the next loop iteration without stopping playback. For producers focused on beat-making and loop-based workflows, Ableton's Session View is arguably the most efficient environment available in any DAW, and our Ableton Live beginner's guide covers the full workflow in detail.
Logic Pro: Score Editor and Step Input
Logic Pro offers two MIDI editing modes beyond the standard Piano Roll: the Score Editor (which displays MIDI as traditional music notation β useful for producers who read music or who are writing parts for live musicians) and Step Input recording (which allows you to enter notes from your MIDI keyboard without real-time playback β press a key and the note is placed at the current cursor position, then the cursor advances by the current note length). Step Input is particularly useful for complex, fast passages that would be difficult to play in real time.
FL Studio: Pattern-Based MIDI and the Playlist
FL Studio organises MIDI in patterns rather than timeline regions. Each pattern can contain MIDI data for multiple instruments simultaneously. Patterns are then arranged in the Playlist, which functions similarly to Arrangement View in Ableton. This means that in FL Studio, you typically write a verse pattern, a chorus pattern, and a breakdown pattern, then arrange instances of those patterns in the Playlist. Changes made to a pattern affect every instance of it in the Playlist β which is both powerful (change the chorus chord progression once, it updates everywhere) and dangerous (accidentally editing the wrong pattern modifies every occurrence). Understanding this distinction is critical for efficient FL Studio MIDI work.
MIDI Latency: Causes and Solutions
MIDI latency β the delay between pressing a key and hearing the instrument respond β is the most common technical frustration for producers working with MIDI. The primary cause is audio buffer size. Your audio interface processes audio in chunks (buffers) before sending it to your output. Larger buffer sizes reduce CPU load but increase latency; smaller buffer sizes reduce latency but demand more from your CPU.
When recording MIDI, set your buffer size to 64 or 128 samples β this gives you latency in the 3β6ms range on most systems, which is below the perceptible threshold for most people. When mixing (no MIDI recording), increase the buffer to 512 or 1024 samples to free up CPU headroom for plugin processing. If you are using a built-in laptop audio card rather than a dedicated audio interface, latency will be significantly higher and may be unacceptable for live MIDI playing β a dedicated interface is the single most effective upgrade for MIDI recording workflows. Our audio interface buying guide covers the key specs to look for, including round-trip latency ratings.
MIDI Clock and External Synchronisation
When working with hardware synthesisers, drum machines, or other external MIDI devices, synchronisation becomes important. MIDI Clock is a separate MIDI message type (not a CC) that sends 24 timing pulses per beat, allowing external hardware to stay in sync with your DAW's tempo. To enable MIDI Clock output from your DAW to hardware: in Ableton, go to Preferences > Link/Tempo/MIDI and enable MIDI Clock on the output port connected to your hardware. In Logic Pro, go to File > Project Settings > Synchronisation and enable MIDI Clock output. This ensures that your hardware's arpeggiators, sequencers, and delays all lock to your DAW's master tempo β critical for any hybrid hardware/software setup.
MIDI Routing for Complex Signal Paths
Advanced MIDI routing allows a single MIDI input to trigger multiple instruments simultaneously β for example, playing a chord on your keyboard and having both a piano sample and a pad synth respond at the same time. In most DAWs this is achieved by setting multiple instrument tracks to receive MIDI from the same input and channel, or by using a dedicated MIDI routing device (Ableton's MIDI From / MIDI To routing, Logic's Environment, or a utility plugin like MIDI Monitor). Understanding MIDI channels β MIDI supports 16 separate channels on a single cable or connection, each of which can carry independent data β is the foundation of multi-instrument routing. Assigning different instruments to different MIDI channels allows a single controller to address an entire virtual ensemble.
MIDI and AI-Assisted Composition
A growing category of tools uses AI to assist with MIDI-based composition β generating chord progressions, suggesting melody continuations, harmonising existing lines, and creating counterpoint automatically. These tools output standard MIDI data that you can import directly into your DAW's piano roll and edit like any other MIDI. If you are exploring AI-assisted MIDI composition, our guide to AI chord progression tools covers the current leading options and their practical use cases in production. AI MIDI generation is increasingly integrated into major DAWs β Ableton's and Logic Pro's built-in AI features now include MIDI generation capabilities as of their 2025β2026 updates, and these are worth exploring as starting points for arrangement sketches even if you intend to heavily edit the output.
Exporting and Sharing MIDI
MIDI data can be exported as a standard MIDI file (.mid) from any DAW β in Ableton, drag a MIDI clip directly from the Session or Arrangement view to your desktop or finder window; in Logic, File > Export > Region as MIDI file; in FL Studio, right-click a pattern and choose Export as MIDI file. Standard MIDI files preserve all note data, CC automation, tempo, and time signature information. They do not contain instrument sounds β a .mid file opened in a different DAW will play back through that DAW's default instrument assignment, not your original sounds. MIDI files are extremely useful for collaboration: you can share arrangement ideas with other producers without sharing your actual plugin sounds, and they can drop the MIDI into their own instrument setup.
Practical Exercises
Draw a 4-Bar Bassline in the Piano Roll
Open your DAW, create a MIDI track with a simple bass synth or sub bass instrument, and draw a 4-bar pattern entirely using the pencil tool β no keyboard required. Focus on placing notes on beat 1 and the "and" of beat 2 in each bar, using 1/16th note grid resolution. Vary the velocities so that the notes on beat 1 are the loudest (velocity ~100) and the off-beat notes are softer (velocity ~65β75), then listen back and notice how the velocity difference creates a sense of groove.
Record, Quantise, and Humanise a Piano Chord Progression
Record a 4-bar chord progression on a piano or keys instrument using a MIDI controller, playing as expressively as you can. Apply quantisation at 75% strength to tighten the timing without fully locking it to the grid. Then manually adjust the velocity of each chord so that the first beat of each bar is the strongest and the velocity gradually decreases and rises again to mirror the phrase shape. Finally, add a CC11 Expression automation curve that swells from 60 to 100 over the 4 bars and back down β listen to the difference before and after the CC automation.
Orchestral String Section with Full CC Articulation
Program a 4-bar string section passage using a high-quality string sample library in your DAW. Beyond writing the notes, draw CC1 modulation curves on each sustained note to simulate vibrato onset (zero for the first third of each long note, ramping up over the final two-thirds), draw CC11 Expression to create natural phrase swells and diminuendos, and use pitch bend automation on selected notes to simulate portamento between intervals. Apply groove quantisation at 60% strength from a live string recording reference, then compare a flat-velocity, hard-quantised version of the same passage with your humanised, CC-animated version to hear the full impact of these techniques.