<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p></p>
<div>Hi Brian,</div>
<div><br>
</div>
<div>Here's a simple mapping.</div>
<div><br>
</div>
<div>Attached ZIP with abstraction and txt.</div>
<div><br>
</div>
<div>You can define the pitch for each key on your keyboard on the txt file.</div>
<div><br>
</div>
<div>It can either be defined in Hertz or MIDI-with-decimals.</div>
<div><br>
</div>
<div>You will have to edit or create the txt file to match your desired tuning.</div>
<div><br>
</div>
<div>Line 1 is ch9 midi note 0</div>
<div>line 2 is  ch9 midi note 1</div>
<div>…..</div>
<div>line 201 is ch10 midi note 0</div>
<div><br>
</div>
<div><br>
</div>
<div>Hope this helps,</div>
<div>Salutti,</div>
<div>Lucarda.</div>
<br>
<p></p>
<p><br>
</p>
<div id="Signature"><font face="Courier New, Courier, Monospace" size="2">Mensaje telepatico asistido por maquinas.</font>
</div>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr style="display:inline-block; width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Pd-list <pd-list-bounces@lists.iem.at> on behalf of Brian Robison <brian.c.robison@gmail.com><br>
<b>Sent:</b> Monday, June 12, 2017 11:29 PM<br>
<b>To:</b> Pd-list<br>
<b>Subject:</b> Re: [PD] Abstraction to translate raw MIDI data from Tonal Plexus keyboard?</font>
<div> </div>
</div>
<div>
<div dir="ltr">Thanks for the input, and my apologies for not being able to clarify until now.
<div><br>
</div>
<div>Simon: Yes, you're exactly right: Each channel represents a tuning layer, and it shouldn't be difficult to write the abstraction (I'm at least halfway there now).</div>
<div><br>
</div>
<div>Lucas: Here are some helpful details: The layout of the Tonal Plexus (hereafter abbreviated TPX) is optimized for 205-tone equal temperament (a.k.a. 205 Equal Division of the Octave = "205-EDO"). As Simon put it, it's designed to "misuse" the MIDI channels
 by sending independent pitch-bend data to get each note to the desired pitch ... but for this to work, the patch's pitch bend must match that of the editing software (and, FWIW, limits polyphony to 16 notes).</div>
<div><br>
</div>
<div>Simon: Yes, the Pythagorean scale is embedded, but not in any one channel. Instead, each channel comprises one-half of an octave (see attached table). I've highlighted the duplicated notes (i.e., there are duplicate keys, such that within each octave,
 the highest version of each triple-sharp is enharmonically equivalent to the lowest triple-sharp in the next column of keys), which only mildly complicate calculations (e.g., for the odd-numbered channels, instead of applying one formula to all 106 notes,
 one must divide into three "zones" with three different constants on which to add (delta * 0.0585) ... so, in Pd, two moses objects to sort notes arriving via the odd-numbered channels, and three to sort on the even-numbered channels.</div>
<div><br>
</div>
<div>Lucas: I've chosen MIDI note numbers for simpler arithmetic (and fewer digits to type, and thus mistype).</div>
<div><br>
</div>
<div>Again, thanks for chiming in!</div>
<div><br>
</div>
<div><img naturalheight="782" naturalwidth="928" width="543" height="458" style="user-select: none;" tabindex="0" src="cid:ii_j3urebe52_15c9e995240eb0f5"><br>
<br>
-- </div>
<div>Brian Robison<br>
<a href="http://www.brianrobison.org" id="LPlnk848644" previewremoved="true">www.brianrobison.org</a></div>
<div id="LPBorder_GT_14973769137810.17523974173626145" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14973769137780.9966629865664827" role="presentation" cellspacing="0" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td id="ImageCell_14973769137780.7779627313591839" colspan="1" style="width: 250px; position: relative; display: table-cell; padding-right: 20px;">
<div id="LPImageContainer_14973769137790.5951417312373912" style="background-color: rgb(255, 255, 255); height: 248px; position: relative; margin: auto; display: table; width: 250px;">
<a id="LPImageAnchor_14973769137790.7578470633823673" href="http://www.brianrobison.org/" target="_blank" style="display: table-cell; text-align: center;"><img id="LPThumbnailImageID_14973769137790.8125185206986882" width="250" height="248" style="display: inline-block; max-width: 250px; max-height: 250px; height: 248px; width: 250px; border-width: 0px; vertical-align: bottom;" src="http://brianrobison.org/images/macdowell.jpg"></a></div>
</td>
<td id="TextCell_14973769137790.5500983613787718" colspan="2" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;">
<div id="LPRemovePreviewContainer_14973769137790.15370899184313958"></div>
<div id="LPTitle_14973769137800.2211975332753373" style="top: 0px; color: rgb(0, 75, 139); font-weight: normal; font-size: 21px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14973769137800.3474193997227175" href="http://www.brianrobison.org/" target="_blank" style="text-decoration: none;">Brian Robison, composer</a></div>
<div id="LPMetadata_14973769137800.873900149791937" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 14px;">
www.brianrobison.org</div>
<div id="LPDescription_14973769137800.5473550997832197" style="display: block; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
Frameset for the web page of Brian Robison, composer</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
</div>
</div>
</div>
</div>
</body>
</html>