# Choose MIDI Chord

**URL:** <https://in-thread.sonic-pi.net/t/choose-midi-chord/3673>\
**Category:** Support, Help & Resources\
**Created:** [April 20, 2020, 12:02am UTC](https://in-thread.sonic-pi.net/t/choose-midi-chord/3673 "2020-04-20T00:02:31Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![nlb](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/nlb/32/997_2.png) [@nlb](https://in-thread.sonic-pi.net/u/nlb)\
**Post date:** [April 20, 2020, 7:41am UTC](https://in-thread.sonic-pi.net/t/choose-midi-chord/3673/3 "2020-04-20T07:41:13Z")

</div>

After some research

Sonic Pi does not support chords to be played via midi natively. But we can create a function to achieve that.

@robin.newman proposed a solution in 2017 [https://github.com/samaaron/sonic-pi/issues/1691](https://github.com/samaaron/sonic-pi/issues/1691)

so you can do that

```ruby
 use_midi_defaults port: "midi_through_port-0", channel: 1

define :midi_chord do |notes, *args|
  notes.each do |note|
    midi note, *args
  end
end

live_loop :play_chords_via_midi do
  midi_chord chords.choose, release: 0.6
  sleep 0.5
end

```

 ![image](https://europe1.discourse-cdn.com/flex017/uploads/sonic_pi/original/2X/b/b17e2aa10072edb4c23fc5f2b81a57650620195c.png)

If you are on windows, you have to create a midi loop via [https://www.tobias-erichsen.de/software/loopmidi.html](https://www.tobias-erichsen.de/software/loopmidi.html)

au plaisir !

---

_[View the full topic](https://in-thread.sonic-pi.net/t/choose-midi-chord/3673)._
