<?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[Topics tagged with mpe-profile]]></title><description><![CDATA[A list of topics that have been tagged with mpe-profile]]></description><link>https://forum.uwyn.com/tags/mpe-profile</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Jul 2026 00:15:47 GMT</lastBuildDate><atom:link href="https://forum.uwyn.com/tags/mpe-profile.rss" rel="self" type="application/rss+xml"/><pubDate>Invalid Date</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>Invalid Date</pubDate></item></channel></rss>