<?xml version="1.0" encoding="UTF-8"?>
	<rss version="2.0"
		xmlns:content="http://purl.org/rss/1.0/modules/content/"
		xmlns:wfw="http://wellformedweb.org/CommentAPI/"
		xmlns:dc="http://purl.org/dc/elements/1.1/"
		xmlns:atom="http://www.w3.org/2005/Atom"

			>

	<channel>
		<title>Cycling 74  &#187;  Topic: Encode text to SYSEX to send over midi</title>
		<atom:link href="http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/feed" rel="self" type="application/rss+xml" />
		<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/feed</link>
		<description></description>
		<pubDate>Wed, 19 Jun 2013 04:20:40 +0000</pubDate>
		<generator>http://bbpress.org/?v=2.2.4</generator>
		<language></language>

		
														
					
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-24621</guid>
					<title><![CDATA[Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-24621</link>
					<pubDate>Sat, 25 Feb 2006 21:05:25 +0000</pubDate>
					<dc:creator>markus@emqu.de</dc:creator>

					<description>
						<![CDATA[
						<p>I want to create a sysex message from a Name to send over midi to an external receiver.</p>
<p>
e.g. <br />
MAX/MASP<br />
myname &#8211;> midiChannel -> midiOut</p>
<p>
JAVA application<br />
&#8211;> midiIn &#8211;> display:&#8221;myname&#8221;</p>
<p>any ideas?</p>
<p>thank you</p>
<p>Markus</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71518</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71518</link>
					<pubDate>Mon, 27 Feb 2006 23:15:19 +0000</pubDate>
					<dc:creator>mzed</dc:creator>

					<description>
						<![CDATA[
						<p>You might want to work on the text formatting, but this solves the midi and sysex issue.</p>
<p>mzed</p>
<p>
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P window linecount 1;<br />
#P message 348 152 63 196617 dump , clear;<br />
#P newex 362 118 65 196617 sel 240 247;<br />
#P user textedit 416 205 516 255 32768 3 9 d o g s a n d c a t s;<br />
#P newex 416 151 27 196617 itoa;<br />
#P comment 135 119 128 196617 < -- type your text in here;<br />
#P newex 32 189 27 196617 atoi;<br />
#P newex 416 180 40 196617 text;<br />
#P newex 362 90 154 196617 sysexin &#8220;IAC Driver IAC Bus 1&#8243;;<br />
#P button 32 73 15 0;<br />
#P newex 32 163 56 196617 route text;<br />
#P user textedit 32 101 132 151 32768 3 9 dogs and cats;<br />
#P newex 32 243 61 196617 append 247;<br />
#P newex 32 217 66 196617 prepend 240;<br />
#P newex 32 269 152 196617 midiout &#8220;IAC Driver IAC Bus 1&#8243;;<br />
#P comment 60 72 100 196617 < -- bang to send;<br />
#P connect 7 0 13 0;<br />
#P connect 3 0 1 0;<br />
#P connect 8 0 12 0;<br />
#P connect 14 0 8 0;<br />
#P connect 13 1 14 0;<br />
#P connect 11 0 8 0;<br />
#P connect 13 2 11 0;<br />
#P connect 9 0 2 0;<br />
#P connect 6 0 4 0;<br />
#P connect 5 0 9 0;<br />
#P connect 4 0 5 0;<br />
#P connect 2 0 3 0;<br />
#P window clipboard copycount 15;</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71519</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71519</link>
					<pubDate>Tue, 28 Feb 2006 00:11:38 +0000</pubDate>
					<dc:creator>markus@emqu.de</dc:creator>

					<description>
						<![CDATA[
						<p>thanks</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71520</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71520</link>
					<pubDate>Tue, 28 Feb 2006 07:29:38 +0000</pubDate>
					<dc:creator>Patrick Delges</dc:creator>

					<description>
						<![CDATA[
						<p></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71521</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71521</link>
					<pubDate>Tue, 28 Feb 2006 14:25:49 +0000</pubDate>
					<dc:creator>Mark Hill</dc:creator>

					<description>
						<![CDATA[
						<p>&#8220;Normally, midi transmits 7bits data. Although your technique works thru<br />
an IAC bus, I&#8217;m not sure it will work with 8bits char with hardware<br />
MIDI device (I cannot test myself now!). So the integer should be split<br />
into 2 7 bits words (or whatever other technique).<br />
&#8220;</p>
<p>Not sure that&#8217;s true. The sysex header byte is 0xf0 (240 decimal), note on is 0&#215;80, etc.. last time I checked, that&#8217;s 8 full bits. Now, the data might be encoded as 7 bits, but for sysex, 8 bit data is OK.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71522</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71522</link>
					<pubDate>Tue, 28 Feb 2006 14:54:59 +0000</pubDate>
					<dc:creator>*V*I*R*G*O*</dc:creator>

					<description>
						<![CDATA[
						<p>> &#8220;Normally, midi transmits 7bits data. Although your technique works thru<br />
> an IAC bus, I&#8217;m not sure it will work with 8bits char with hardware<br />
> MIDI device (I cannot test myself now!). So the integer should be split<br />
> into 2 7 bits words (or whatever other technique).&#8221;<br />
><br />
> Not sure that&#8217;s true. The sysex header byte is 0xf0 (240 decimal), note on <br />
> is 0&#215;80, etc..<br />
> last time I checked, that&#8217;s 8 full bits. Now, the data might be encoded as <br />
> 7 bits, but for<br />
> sysex, 8 bit data is OK.</p>
<p>You&#8217;re forgetting that the MSB in each MIDI byte is reserved for designating <br />
whether it&#8217;s a status or data byte.</p>
<p>Cheers.</p>
<p>*V*I*R*G*O*</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71523</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71523</link>
					<pubDate>Tue, 28 Feb 2006 15:23:28 +0000</pubDate>
					<dc:creator>Patrick Delges</dc:creator>

					<description>
						<![CDATA[
						<p></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71524</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71524</link>
					<pubDate>Tue, 28 Feb 2006 15:35:01 +0000</pubDate>
					<dc:creator>Peter Castine</dc:creator>

					<description>
						<![CDATA[
						<p>On around Feb 28, 2006, at 15:25, Mark Hill said something like:<br />
> Not sure that&#8217;s true. The sysex header byte is 0xf0 (240 decimal), <br />
> note on is 0&#215;80, etc.. last time I checked, that&#8217;s 8 full bits. Now, <br />
> the data might be encoded as 7 bits, but for sysex, 8 bit data is OK.</p>
<p>MIDI Status bytes have the MSB set<br />
MIDI Data bytes have the MSB clear</p>
<p>Either way, the actual *content* of a MIDI byte is encoded in bits 0-6. <br />
Bit 7 (MSB) is the status bit. MIDI **data** are restricted to 7 bits <br />
per byte.</p>
<p>That is the MIDI standard the way it&#8217;s been forever.</p>
<p>If you want to send arbitrary streams of serial 8-bit bytes, you can <br />
do, but it ain&#8217;t MIDI. If IAC let&#8217;s you do this&#8230; you&#8217;re maybe in <br />
luck, but it&#8217;s breaking the MIDI spec.</p>
<p>><br />
&#8212;&#8212;&#8212;&#8212;&#8211;    <a href="http://www.bek.no/~pcastine/Litter/" rel="nofollow">http://www.bek.no/~pcastine/Litter/</a>    &#8212;&#8212;&#8212;&#8212;&#8211;<br />
Peter Castine    |                             ^<br />
                  |         Litter Power &#038; Litter Bundle for Jitter<br />
<a href="mailto:pcastine@gmx.net">pcastine@gmx.net</a> |<br />
<a href="mailto:pcastine@bek.no">pcastine@bek.no</a>  | iCE:  Sequencing, Recording, and Interface Building<br />
<a href="mailto:4-15@kagi.com">4-15@kagi.com</a>    |       for Max/MSP<br />
                  |                                      Extremely cool<br />
                  |      <a href="http://www.dspaudio.com" rel="nofollow">http://www.dspaudio.com</a><br />
                  |      <a href="http://www.dspaudio.com/software/software.html" rel="nofollow">http://www.dspaudio.com/software/software.html</a></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71525</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71525</link>
					<pubDate>Tue, 28 Feb 2006 15:41:53 +0000</pubDate>
					<dc:creator>Trond Lossius</dc:creator>

					<description>
						<![CDATA[
						<p>MIDI always transmit 8 bits bytes. The first bit indicates if this is  <br />
a status byte (1) or a data byte (0). Status bytes indicate the start  <br />
of a new midi message, or in the case of a SYSEX it could also  <br />
indicate the end of a sysex message (0xFF or 247). If you send sysex  <br />
messages where the data bytes between the first and last bytes are in  <br />
the range 128-255 you might risk them being misinterpreted at the  <br />
receiving for being something else, e.g. the start of a note-on  <br />
message (144-159) or a pitch-bend message (224-239).</p>
<p>For this reason you should reformat your character values so that one  <br />
char is sent as two bytes, to make sure that the first bit of each of  <br />
the bytes is 0. Peter Elsea provides externals for dealing with  <br />
&#8220;nibbles&#8221; as part of Lobjects.</p>
<p><a href="http://en.wikipedia.org/wiki/Nibble" rel="nofollow">http://en.wikipedia.org/wiki/Nibble</a></p>
<p>You can do with standard Max obejcts as well. The patch below  <br />
provides abstractions for converting ascii to and from nibble as well  <br />
as messages to and from sysex. I did not bother to add Checksum at  <br />
the end of the sysex messages, or an manufactorer ID to the sysex  <br />
that could have been used to tell it apart from sysex messages meant  <br />
for other gear.</p>
<p>Best,<br />
Trond</p>
<p>
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P window linecount 1;<br />
#P message 376 67 40 196617 orange;<br />
#P message 334 67 40 196617 banana;<br />
#P message 299 67 33 196617 apple;<br />
#N vpatcher 44 74 344 489;<br />
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P newex 62 297 64 196617 fromsymbol;<br />
#P outlet 62 334 15 0;<br />
#P newex 62 269 27 196617 itoa;<br />
#P newex 62 238 46 196617 zl group;<br />
#P newex 62 61 67 196617 t b l;<br />
#P newex 119 204 58 196617 +;<br />
#P newex 119 171 29 196617 < < 4;<br />
#P newex 119 140 58 196617 unpack 0 0;<br />
#P newex 119 102 55 196617 zl group 2;<br />
#P inlet 62 35 15 0;<br />
#P connect 0 0 5 0;<br />
#P connect 4 0 6 0;<br />
#P connect 5 0 6 0;<br />
#P connect 6 0 7 0;<br />
#P connect 7 0 9 0;<br />
#P connect 9 0 8 0;<br />
#P connect 5 1 1 0;<br />
#P connect 1 0 2 0;<br />
#P connect 2 0 3 0;<br />
#P connect 3 0 4 0;<br />
#P connect 2 1 4 1;<br />
#P pop;<br />
#P newobj 94 284 72 196617 p sysex2ascii;<br />
#N vpatcher 44 74 644 474;<br />
#P outlet 144 295 15 0;<br />
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P newex 144 256 67 196617 zl group 256;<br />
#P newex 144 191 29 196617 gate;<br />
#P window linecount 1;<br />
#P newex 123 154 31 196617 t b 0;<br />
#P window linecount 0;<br />
#P newex 96 154 21 196617 t 1;<br />
#P newex 96 113 65 196617 sel 240 247;<br />
#P inlet 96 69 15 0;<br />
#P comment 302 85 100 196617 In real life you would use sysexin instead;<br />
#P connect 1 0 2 0;<br />
#P connect 2 0 3 0;<br />
#P connect 2 1 4 0;<br />
#P connect 4 1 5 0;<br />
#P connect 3 0 5 0;<br />
#P connect 4 0 6 0;<br />
#P connect 5 0 6 0;<br />
#P connect 6 0 7 0;<br />
#P connect 2 2 5 1;<br />
#P pop;<br />
#P newobj 94 217 83 196617 p stream2sysex;<br />
#P newex 94 136 25 196617 iter;<br />
#N vpatcher 44 74 644 474;<br />
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P window linecount 1;<br />
#P newex 50 223 61 196617 append 247;<br />
#P newex 50 199 66 196617 prepend 240;<br />
#N vpatcher 44 74 644 474;<br />
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P newex 82 128 62 196617 prepend set;<br />
#P outlet 67 190 15 0;<br />
#P newex 67 161 101 196617 pack 0 0;<br />
#P newex 67 78 40 196617 t b i i;<br />
#P window linecount 1;<br />
#P newex 158 112 33 196617 &#038; 15;<br />
#P window linecount 0;<br />
#P newex 82 108 29 196617 >> 4;<br />
#P inlet 67 55 15 0;<br />
#P connect 0 0 3 0;<br />
#P connect 6 0 4 0;<br />
#P connect 3 0 4 0;<br />
#P connect 4 0 5 0;<br />
#P connect 3 1 1 0;<br />
#P connect 1 0 6 0;<br />
#P connect 3 2 2 0;<br />
#P connect 2 0 4 1;<br />
#P pop;<br />
#P newobj 67 139 75 196617 p char2nibbles;<br />
#P newex 50 169 67 196617 zl group 250;<br />
#P newex 50 85 27 196617 t b l;<br />
#P newex 67 114 25 196617 iter;<br />
#P newex 50 50 27 196617 atoi;<br />
#P inlet 50 30 15 0;<br />
#P outlet 50 273 15 0;<br />
#P connect 1 0 2 0;<br />
#P connect 2 0 4 0;<br />
#P connect 6 0 5 0;<br />
#P connect 4 0 5 0;<br />
#P connect 5 0 7 0;<br />
#P connect 7 0 8 0;<br />
#P connect 8 0 0 0;<br />
#P connect 4 1 3 0;<br />
#P connect 3 0 6 0;<br />
#P pop;<br />
#P newobj 94 114 72 196617 p ascii2sysex;<br />
#P window linecount 0;<br />
#P message 94 371 147 196617;<br />
#P window linecount 1;<br />
#P newex 94 337 62 196617 prepend set;<br />
#P newex 94 83 56 196617 route text;<br />
#P user textedit 94 60 272 79 32896 3 9 dette er en annen test;<br />
#P connect 4 0 5 0;<br />
#P connect 6 0 7 0;<br />
#P fasten 9 0 4 0 339 106 99 106;<br />
#P fasten 10 0 4 0 381 106 99 106;<br />
#P fasten 8 0 4 0 304 106 99 106;<br />
#P connect 1 0 4 0;<br />
#P connect 5 0 6 0;<br />
#P connect 7 0 2 0;<br />
#P connect 2 0 3 0;<br />
#P connect 0 0 1 0;<br />
#P window clipboard copycount 11;</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71526</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71526</link>
					<pubDate>Tue, 28 Feb 2006 16:43:39 +0000</pubDate>
					<dc:creator>nick rothwell / cassiel</dc:creator>

					<description>
						<![CDATA[
						<p>
On 28 Feb 2006, at 14:25, Mark Hill wrote:</p>
<p>> Now, the data might be encoded as 7 bits, but for sysex, 8 bit data  <br />
> is OK.</p>
<p>As other folks have suggested (or will suggest): MIDI data bytes are  <br />
7-bit. Sysex messages start with 0xF0 and end with 0xF7, but all the  <br />
intermediate bytes have to have the top bit clear. (We could argue  <br />
about whether realtime messages with the top bit set are allowed  <br />
within Sysex; I don&#8217;t know of any kit, hardware or software, that  <br />
does that.)</p>
<p>Back in the days when hardware synthesisers roamed the land,  <br />
manufacturers used to implement a scheme to &#8220;stream&#8221; 8-bit data into  <br />
7-bit bytes. (Well, the Japanese did; the Americans often favoured  <br />
nybble-encodings.)</p>
<p>Those with long memories might want to check the command options in  <br />
the configuration files used by Max&#8217;s &#8220;lib&#8221; object.</p>
<p>
   nick rothwell &#8212; composition, systems, performance &#8212; http:// <br />
<a href="http://www.cassiel.com" rel="nofollow">http://www.cassiel.com</a></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71527</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71527</link>
					<pubDate>Tue, 28 Feb 2006 21:31:59 +0000</pubDate>
					<dc:creator>mzed</dc:creator>

					<description>
						<![CDATA[
						<p>> <br />
> On 28 Feb 2006, at 14:25, Mark Hill wrote:<br />
> <br />
> > Now, the data might be encoded as 7 bits, but for sysex, 8 bit data  <br />
> > is OK.<br />
> </p>
<p>OK, sorry for my mistake with sysex.  I was rembering something that I had in fact done with meta events.</p>
<p>You can send a text string over MIDI by starting a meta event (0xFF) of type 1 (0&#215;01) then a string of ascii characters.</p>
<p>Max support for meta events isn&#8217;t strong, but you can parse this data out of the output of [midiin] with a little programming.  I have this somewhere&#8230; but it&#8217;s a long time ago.  I&#8217;ll see if I can dig it out.</p>
<p>I prefer OSC now.  :-)</p>
<p>mzed </p>
<p>
see:</p>
<p><a href="http://www.sonicspot.com/guide/midifiles.html" rel="nofollow">http://www.sonicspot.com/guide/midifiles.html</a></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71528</guid>
					<title><![CDATA[Re: Encode text to SYSEX to send over midi]]></title>
					<link>http://cycling74.com/forums/topic/encode-text-to-sysex-to-send-over-midi/#post-71528</link>
					<pubDate>Wed, 01 Mar 2006 07:34:20 +0000</pubDate>
					<dc:creator>f.e</dc:creator>

					<description>
						<![CDATA[
						<p>To send meta events, you may use Peter Swinnen&#8217;s psw.midifile.parser <br />
source to make it real-time, maybe&#8230;</p>
<p>f.e</p>
						]]>
					</description>

					
					
				</item>

					
		
	</channel>
	</rss>

