<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MPE]]></title><description><![CDATA[MIDI Polyphonic Expression]]></description><link>https://forum.uwyn.com/category/13</link><generator>RSS for Node</generator><lastBuildDate>Wed, 20 May 2026 10:54:38 GMT</lastBuildDate><atom:link href="https://forum.uwyn.com/category/13.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Apr 2024 01:06:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[MPE Profile support in SendMIDI and ReceiveMIDI]]></title><description><![CDATA[<p dir="auto">I have new versions of SendMIDI and ReceiveMIDI available with MPE Profile support.</p>
<p dir="auto">The intent of these versions of my tools is that people can focus on either the initiator or responder role for their product and leave the other part of the negotiation up to either SendMIDI or ReceiveMIDI. This should make it easier to bootstrap adding MPE Profile support.</p>
<p dir="auto"><a href="https://github.com/gbevin/SendMIDI" rel="nofollow ugc">https://github.com/gbevin/SendMIDI</a><br />
<a href="https://github.com/gbevin/ReceiveMIDI" rel="nofollow ugc">https://github.com/gbevin/ReceiveMIDI</a></p>
<p dir="auto">SendMIDI allows simulating the role of an MPE Profile initiator, while ReceiveMIDI allows simulating the role of an MPE Profile responder (only on Linux/macOS due to virtual port creation)</p>
<p dir="auto"><strong>Here's an basic example of usage:</strong></p>
<p dir="auto">Create a virtual MIDI port named <code>profiletest</code> and configure it to support manager channel <code>1</code> with <code>15</code> member channels as a responder:</p>
<pre><code class="language-console">receivemidi mpp profiletest 1 15
</code></pre>
<p dir="auto">Use <code>profiletest</code> both as the MIDI output and input port and request the MPE profile to be enabled as an initiator with manager channel <code>1</code> and with <code>6</code> member channels:</p>
<pre><code class="language-console">sendmidi dev profiletest mpp profiletest 1 6
</code></pre>
<p dir="auto">The relevant outputs could be:</p>
<pre><code class="language-console">receivemidi mpp profiletest 1 15
Responder MUID 0x0d1212d6 waiting for MPE Profile negotiation on channel 1
MUID 0x03926473 : MPE Profile enabled with manager channel 1 and 6 member channels
MUID 0x03926473 : MPE Profile details inquired for optional features
</code></pre>
<pre><code class="language-console">sendmidi dev profiletest mpp profiletest 1 6
Initiator MUID 0x03926473 negotating MPE Profile with manager channel 1 and 6 member channels
MUID 0x0d1212d6 : Discovered
MUID 0x0d1212d6 : Requesting MPE Profile enablement with manager channel 1 and 6 member channels
MUID 0x0d1212d6 : MPE Profile enabled with manager channel 1 and 6 member channels
MUID 0x0d1212d6 : Inquiring MPE Profile details for optional features
MUID 0x0d1212d6 : MPE Profile details received for optional features
MUID 0x0d1212d6   channel response : not supported
MUID 0x0d1212d6   pitch bend       : supported
MUID 0x0d1212d6   channel pressure : standard controller
MUID 0x0d1212d6   3rd dimension    : standard controller
</code></pre>
<p dir="auto"><strong>This is another possible example:</strong></p>
<p dir="auto">Create a virtual MIDI port named <code>profiletest</code> and configure it to support any manager channel with up to <code>8</code> member channels as a responder, this also disables pitch bend as a supported feature and enables bipolar controllers for channel pressure and 3rd dimension:</p>
<pre><code class="language-console">receivemidi mpp profiletest 0 8 mpb 0 mcp 2 m3d 2
</code></pre>
<p dir="auto">Use <code>profiletest</code> both as the MIDI output and input port and request the MPE profile to be enabled as an initiator with manager channel <code>2</code> and with <code>10</code> member channels:</p>
<pre><code class="language-console">sendmidi dev profiletest mpp profiletest 2 10
</code></pre>
<p dir="auto">Then, use <code>profiletest</code> both as the MIDI output and input port and request the MPE profile to be enabled as an initiator with manager channel <code>12</code> and with <code>6</code> member channels:</p>
<pre><code class="language-console">sendmidi dev profiletest mpp profiletest 12 6
</code></pre>
<p dir="auto">The relevant outputs could be:</p>
<pre><code class="language-console">receivemidi mpp profiletest 0 8 mpb 0 mcp 2 m3d 2
Responder MUID 0x04b33d6f waiting for MPE Profile negotiation on all channels
MUID 0x00166e57 : MPE Profile enabled with manager channel 2 and 8 member channels
MUID 0x00166e57 : MPE Profile details inquired for optional features
MUID 0x001a9680 : MPE Profile disabled with manager channel 2
MUID 0x001a9680 : MPE Profile enabled with manager channel 12 and 4 member channels
MUID 0x001a9680 : MPE Profile details inquired for optional features
</code></pre>
<pre><code class="language-console">sendmidi dev profiletest mpp profiletest 2 10
Initiator MUID 0x00166e57 negotating MPE Profile with manager channel 2 and 10 member channels
MUID 0x04b33d6f : Discovered
MUID 0x04b33d6f : Requesting MPE Profile enablement with manager channel 2 and 10 member channels
MUID 0x04b33d6f : MPE Profile enabled with manager channel 2 and 8 member channels
MUID 0x04b33d6f : Inquiring MPE Profile details for optional features
MUID 0x04b33d6f : MPE Profile details received for optional features
MUID 0x04b33d6f   channel response : not supported
MUID 0x04b33d6f   pitch bend       : not supported
MUID 0x04b33d6f   channel pressure : alternate bipolar controller
MUID 0x04b33d6f   3rd dimension    : alternate bipolar controller
</code></pre>
<pre><code class="language-console">sendmidi dev profiletest mpp profiletest 12 6
Initiator MUID 0x001a9680 negotating MPE Profile with manager channel 12 and 6 member channels
MUID 0x04b33d6f : Discovered
MUID 0x04b33d6f : Requesting MPE Profile enablement with manager channel 12 and 6 member channels
MUID 0x04b33d6f : MPE Profile disabled with manager channel 2
MUID 0x04b33d6f : MPE Profile enabled with manager channel 12 and 4 member channels
MUID 0x04b33d6f : Inquiring MPE Profile details for optional features
MUID 0x04b33d6f : MPE Profile details received for optional features
MUID 0x04b33d6f   channel response : not supported
MUID 0x04b33d6f   pitch bend       : not supported
MUID 0x04b33d6f   channel pressure : alternate bipolar controller
MUID 0x04b33d6f   3rd dimension    : alternate bipolar controller
</code></pre>
<p dir="auto">Full documentation can be found by typing <code>sendmidi -h</code> or <code>receivemidi -h</code>.</p>
<p dir="auto">Hope this is helpful. Please let me know if you have any feedback.</p>
]]></description><link>https://forum.uwyn.com/topic/95/mpe-profile-support-in-sendmidi-and-receivemidi</link><guid isPermaLink="true">https://forum.uwyn.com/topic/95/mpe-profile-support-in-sendmidi-and-receivemidi</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Wed, 10 Apr 2024 01:06:14 GMT</pubDate></item><item><title><![CDATA[MIDI 2.0 MPE Profile specification is now available!]]></title><description><![CDATA[<p dir="auto">After 2 years of weekly meetings with the MPE working group, many discussions, heated debates, over 60 revisions, ... the MIDI 2.0 Profile for MPE is finally available for download from the new MIDI Association website!</p>
<p dir="auto"><a href="https://midi.org/midi-ci-profile-for-midi-polyphonic-expression" rel="nofollow ugc"><img src="/assets/uploads/files/1710261233830-432373324_10160394054149608_6490063059590815636_n.jpg" alt="432373324_10160394054149608_6490063059590815636_n.jpg" class=" img-fluid img-markdown" /></a></p>
<p dir="auto">Get the spec here:<br />
<a href="https://midi.org/midi-ci-profile-for-midi-polyphonic-expression" rel="nofollow ugc">https://midi.org/midi-ci-profile-for-midi-polyphonic-expression</a></p>
<p dir="auto">Learn more about the new MIDI 2.0 MPE Profile in this video from NAMM 2024!</p>
<p dir="auto"><a href="https://www.youtube.com/watch?v=rIGYtKF3vfk" rel="nofollow ugc">https://www.youtube.com/watch?v=rIGYtKF3vfk</a></p>
]]></description><link>https://forum.uwyn.com/topic/92/midi-2-0-mpe-profile-specification-is-now-available</link><guid isPermaLink="true">https://forum.uwyn.com/topic/92/midi-2-0-mpe-profile-specification-is-now-available</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Tue, 12 Mar 2024 16:34:44 GMT</pubDate></item><item><title><![CDATA[New LinnStrument firmware v2.3.1 is available today!]]></title><description><![CDATA[<p dir="auto">Features:</p>
<ul>
<li>In Per-Split Settings &gt; MIDI Mode, holding ONE CHANNEL now resets all MIDI settings as they are after a Reset command. Similar to holding ChPerNote to quickly change all settings for MPE synths, this is useful for quickly changing all MIDI settings for use with common preset sounds of One Channel synth that are optimized for MIDI piano keyboards:<br />
Main channel: 1<br />
Bend Range: +/- 2<br />
Timbre/Y: CC74<br />
Loudness/Z: Poly Pressure</li>
<li>If MIDI Mode is set to ChPerNote and you change either the Bend Range setting or hold ChPerNote to force MPE settings, LinnStrument sends a MIDI RPN 0 “Pitch Bend range” message, which sets the external synth to the same bend range.</li>
</ul>
<p dir="auto">Bug fixes</p>
<ul>
<li>When using the Arpeggiator to arpeggiate through a held chord and you lifted one finger of the chord, the arpeggio order would reset to the starting note. Fixed.</li>
<li>When split was on with CC Faders on in one split and Low Row on in the other, sometimes the Low Row lights would turn on on the other split. Fixed.</li>
<li>When receiving a Bend Range configuration message through MIDI, LinnStrument would echo it back to the MIDI out, which was unnecessary. Fixed.</li>
<li>When LinnStrument would receive a MIDI Stop command to stop its Step Sequencer, it would unnecessarily echo it back out to the MIDI out. Fixed.</li>
</ul>
<p dir="auto">Get it here:<br />
<a href="https://www.rogerlinndesign.com/support/support-linnstrument-update-software" rel="nofollow ugc">https://www.rogerlinndesign.com/support/support-linnstrument-update-software</a></p>
]]></description><link>https://forum.uwyn.com/topic/47/new-linnstrument-firmware-v2-3-1-is-available-today</link><guid isPermaLink="true">https://forum.uwyn.com/topic/47/new-linnstrument-firmware-v2-3-1-is-available-today</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Thu, 21 Sep 2023 18:26:02 GMT</pubDate></item><item><title><![CDATA[The Gaz Williams Show - Geert Bevin and the story of MPE]]></title><description><![CDATA[<p dir="auto">A couple of years ago I had the immense joy and privilege to talk to Gaz Williams about MPE and my career for two hours. Check it out!</p>
<p dir="auto"><a href="https://www.youtube.com/watch?v=SEAp_ffF8EY" rel="nofollow ugc">https://www.youtube.com/watch?v=SEAp_ffF8EY</a></p>
]]></description><link>https://forum.uwyn.com/topic/39/the-gaz-williams-show-geert-bevin-and-the-story-of-mpe</link><guid isPermaLink="true">https://forum.uwyn.com/topic/39/the-gaz-williams-show-geert-bevin-and-the-story-of-mpe</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Wed, 23 Aug 2023 02:46:41 GMT</pubDate></item><item><title><![CDATA[The origin of the MPE name]]></title><description><![CDATA[<p dir="auto">Did you know that Roger Linn and I came up with the term Polyphonic Multidimensional Expression in December 2014, which became Multidimensional Polyphonic Expression (MPE) in January 2015 when I wrote the <a href="http://bit.ly/mpe-spec" rel="nofollow ugc">first draft of the spec</a> and then MIDI Polyphonic Expression (MPE) when we worked through it with the MIDI association expert group in the following three years?</p>
<p dir="auto">It's fascinating to me to see how ubiquitous the term MPE has become now. Several times along the journey, it was almost lost to more marketing-oriented names.</p>
<p dir="auto">I however always kept putting my foot down in defense of MPE, because I thought that it was exactly as short and nerdy as it needed to be for wide adoption.</p>
<p dir="auto"><a href="http://bit.ly/mpe-spec" rel="nofollow ugc">http://bit.ly/mpe-spec</a></p>
]]></description><link>https://forum.uwyn.com/topic/35/the-origin-of-the-mpe-name</link><guid isPermaLink="true">https://forum.uwyn.com/topic/35/the-origin-of-the-mpe-name</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Mon, 21 Aug 2023 22:12:48 GMT</pubDate></item><item><title><![CDATA[Interview: Geert Bevin On MPE &amp; Creating A New Standard Of Musical Expression]]></title><description><![CDATA[<p dir="auto"><a href="http://www.synthtopia.com/content/2016/12/04/geert-bevin-mpe-interview/" rel="nofollow ugc">This interview on Synthtopia</a> turned out better than I thought it would, thanks to Darwin Grosse and Synthtopia.</p>
<p dir="auto">Darwin got me to talk about my background, as well as my approach towards musical instrument design and programming in a very friendly chat.</p>
<p dir="auto">Also available as an audio podcast.<br />
<a href="http://artmusictech.libsyn.com/podcast-154-geert-bevin" rel="nofollow ugc">http://artmusictech.libsyn.com/podcast-154-geert-bevin</a></p>
]]></description><link>https://forum.uwyn.com/topic/29/interview-geert-bevin-on-mpe-creating-a-new-standard-of-musical-expression</link><guid isPermaLink="true">https://forum.uwyn.com/topic/29/interview-geert-bevin-on-mpe-creating-a-new-standard-of-musical-expression</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Sun, 20 Aug 2023 21:40:33 GMT</pubDate></item><item><title><![CDATA[Playing Expressive Gestures on LinnStrument]]></title><description><![CDATA[<p dir="auto">Roger Linn created a nice tutorial about using expressive gestures on LinnStrument.<br />
<a href="https://www.youtube.com/watch?v=imwt_YvpcrY" rel="nofollow ugc">https://www.youtube.com/watch?v=imwt_YvpcrY</a></p>
]]></description><link>https://forum.uwyn.com/topic/28/playing-expressive-gestures-on-linnstrument</link><guid isPermaLink="true">https://forum.uwyn.com/topic/28/playing-expressive-gestures-on-linnstrument</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Sun, 20 Aug 2023 21:39:15 GMT</pubDate></item><item><title><![CDATA[Why MIDI Polyphonic Expression?]]></title><description><![CDATA[<p dir="auto">This is a short video to explain why MIDI Polyphonic Expression (MPE) is so focused and limited, but why it’s so important that the standard exists and is widely available.</p>
<p dir="auto"><a href="https://www.youtube.com/watch?v=ZziKiE2Rmx0" rel="nofollow ugc">https://www.youtube.com/watch?v=ZziKiE2Rmx0</a></p>
]]></description><link>https://forum.uwyn.com/topic/26/why-midi-polyphonic-expression</link><guid isPermaLink="true">https://forum.uwyn.com/topic/26/why-midi-polyphonic-expression</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Sun, 20 Aug 2023 21:34:15 GMT</pubDate></item><item><title><![CDATA[MPE v1.1 released!]]></title><description><![CDATA[<p dir="auto">After a year of hard work, we released version 1.1 of MIDI Polyphonic Expressionwith the goal of making it clearer and easier to adopt!</p>
<p dir="auto"><a href="https://www.midi.org/midi-articles/the-midi-association-announces-the-v1-1-update-to-the-midi-polyphonic-expression-mpe-specification" rel="nofollow ugc">https://www.midi.org/midi-articles/the-midi-association-announces-the-v1-1-update-to-the-midi-polyphonic-expression-mpe-specification</a></p>
]]></description><link>https://forum.uwyn.com/topic/25/mpe-v1-1-released</link><guid isPermaLink="true">https://forum.uwyn.com/topic/25/mpe-v1-1-released</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Sun, 20 Aug 2023 21:32:25 GMT</pubDate></item><item><title><![CDATA[The Making of LinnStrument]]></title><description><![CDATA[<p dir="auto">Roger recorded this charming and informative overview of how LinnStrument came into existence.</p>
<p dir="auto"><a href="https://www.youtube.com/watch?v=-hfzA1M8h48" rel="nofollow ugc">https://www.youtube.com/watch?v=-hfzA1M8h48</a></p>
]]></description><link>https://forum.uwyn.com/topic/13/the-making-of-linnstrument</link><guid isPermaLink="true">https://forum.uwyn.com/topic/13/the-making-of-linnstrument</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Sun, 20 Aug 2023 19:02:39 GMT</pubDate></item></channel></rss>