|
|
| Line 481: |
Line 481: |
| | cdYfQ+19i28+CqIeJq. | | cdYfQ+19i28+CqIeJq. |
| | -----------end_max5_patcher----------- | | -----------end_max5_patcher----------- |
| − | <maxpat> | + | </maxpat> |
| | | | |
| | | | |
Revision as of 02:52, 8 January 2013
Using Max with Reason
In the ReWire Essentials tutorials (linked at the bottom), we used Max as both a mixer (hosting application) and "device" (controlled application). These are the two sides of the ReWire connectivity equation, and Max can work equally in both modes. In order to dive into ReWire at a deeper level, let's look at a connection to one of the most-used ReWire packages there is: Propellerheads Reason.
In order to have the most fun with our Max/Reason combination, we are going to do some sequencing and audio processing in Max, and use Reason as a synth/sampling and mixing device. What we *won't* do is run the Reason sequencer or use its recording capabilities. In this way, we'll get to do goofy and interesting Max sequencing and processing (something Max is really good at...), and let Reason handle the synthesis (something Reason is damned good at).
Let's start by creating a very basic connection between Max and Reason. Here's the patch that I created:
Unlike what you see in most of the ReWire help files, I'm using the rewire~ object with a named device. This allows me to state explicitly that this is a connection to Reason, and I don't have to mess around with application selection or other confusing UI elements. I connect the outputs of the rewire~ object to an audio chain (live.gain and ezdac~), and I create two message for the input: "openpanel" and "closepanel".
Different ReWire clients work differently, and even the same application not work the same on Windows vs. Mac. In my case (Max OS X, Reason 6.5), clicking on the "openpanel" message will actually launch the Reason application in ReWire client mode, and will be completely active with no other interaction. If I create a Reason instrument (Kong, in this case), I can play that instrument and receive the audio within my Max patch.
Send MIDI Messages to Reason
The next thing we want to do is to fire notes into the Kong instrument using MIDI messages from Max. To do this, we have to send a specially formatted message into the rewire~ object. The format of the message is:
midi <timestamp> <bus number> <MIDI message> <note value> <velocity value>
Since we don't care about sequence timing or routing, our timestamp and bus number are always 0. Since we are sending notes, our MIDI message is always 144. The note number and velocity information is created by a makenote object, which will take our incoming note information and turn in to MIDI note pairs (noteon and noteoff messages).
The basic note-playing patch will look something like this:
In order to virtually "play" any of the Kong's pads, just click on one of the message boxes (numbered 1-16).
Sequencing in Max, Playing in Reason
The next step is to create some way to do an interesting sequencing system in Max. Let's start by making a simple drum matrix sequencer that is run off the transport:
In this case, we have a transport-based timing system that uses a counter to output a step position. This goes into a live.grid object (set to matrix mode), then the output is split apart and sent to our input keys. These keys are used to send the MIDI messages from the previous patch to the Kong drum machine. This creates a basic grid-style drum sequencer that can play back Kong without having to mess around with pad programming.
But why program the grid at all. By watching for the first step of the sequence and randomizing the grid, we can have Max do the hard work for us! In this updated patch, I have a compound message that is activated whenever the first step is seen:
At that first step, the message will clear and randomly place one note in each column. But I also want a four-on-the-floor kick drum, so I'm using the setcell message to force the kick to fire on every downbeat. While this is really simple generative stuff, it also is surprisingly good-sounding. In fact, some of the patterns are so good that I don't want an immediate change to the next pattern, so I placed a switch at the output of the generator to allow me to "hold" a pattern until I'm sick of it.
Here it is as a copy-compressed patch:
Copy all of the following text.Then, in Max, select New From Clipboard.
----------begin_max5_patcher----------
2118.3oc2b01aaaCD9yI+JHLFv9vb036TpnXX6uv951PghMqCaskLjjS51v5
u8wWjbjarnncsXSLJpcjDMycO2Cu6Huy4eu8lY2U9YY8LvaA+A3la92au4F6
sL23l1quY1l7OuXcdscXyZJWsZsb1b2iVbubwmjKWTttrxMKnD3b.b+K5KA+
U6f2l2r3dUwp2WIWz3FMgmkjkwQL1b.ARRv52orj1W2+IUKs+tKu6iugimse
5px2HajUuWVjemVlzCA19rhcaTEqkMVYF8zMK207028txpkxpvz.2Gu4u2Jc
CclpPqH+k4g+2s2ZdYdfv3p5GUZzX1vPCkIRvzVnIkXDEpUzH3dRTejAcxHC
wKx7Ls87T0Eka1H03T6r1H+biiIcuD7i0xlEx0q+QvFYcc9JIXWsrFXdzGJq
17VP6yAuSaf9Ev6pJeT+J5mg+R2zsVUHWTtqnou9bD3jIxLfGNKyvtPLpEPE
GGJoYcS+GJKZJzfo8Q+VkJe8LeTLyvqU+ic3Hscp61UqtyZDRfGEwgmAr1BX
OCVWrVlWMGTkWrrby78.Hx7umtjc3kYGdIhXt9nPLyCiUCwcL1VbNytDRL.i
kJNQXF6GlmTZbg7QsL+L3tVtFflEHnvwFPgvsLQ3wAER5TBJ3g.k6xKVMa9E
FbzNgpJAHdA3WyWzndP5Gpn3DZav.Tpv57Ei7gUb32EBjEqtn9BKJaju051a
sFkRVUoVBT0.UA3O0SPSk5y+4LvlxkRevmdwVG7Q0gJLDNH0G7wPu7cyM.yR
oitEHUhSHVrP3CJn7KKT7cyUD.CH.p1+NGH.oFG6P.R6LGacpS0Q9zqG8fbX
iN.XLW9F7DALKyCrwNUXSbR3lXL2Ueud+xZ3.0MxsO7DjMFila4xrTuLZ3Tx
nOmkxW1sNvPn8acnkt5ciCDwUwFGFfB0ny2qdaYUyrvPLDwIiLmuwgxEgMkw
Wy7ANy2+1GVWlOvObrQcQg0p.VY57X5Buv7mZG4DgS3KufL1MBHqL6OfGn6J
Lx5nR3M.L5TwF1ofMzQnZ8ISmEZsOssNY8g7p8Jwyd3l7pOoc+7frpQsPqe8
L0ifkTdpcKDv1ku8QykJymQUVze95AwdO4DjukyGBl78ZgIwTaVodoeyOx+2
Kz04OHW997F8Tc2tF4S+TcKZ2B2FDc8NY4G5tc286qNc+VaOGfCdlp3AUs5P
s8fATeu184f1rCF55xhUGYjtAZYNcucYVz8Sfm7DeDBBJ0F+CkYWgQ7lyOA+
cYKSm8BqgNlCudeHYzjTFAhEyAYr1CMytqxA.E3qnChXPDwGEo+AshbQrFAR
PWCPB0GjnyTDQxvo3vHI3zqADg3CQzNMzvAkFHGAmcMfHXe41oIFTLiwSCji
vuFPDeGRGV.SzvAmGpiDr3Z.Rf9fDsiDABkhIARRnWAHRl2cDA0geoYASQXW
A.RpuDzzzhrrTnHv7Qv3q..Q3CPDnDDUSNBkgPtB.DeYrhnbcnWJgFZflqgL
V8tmFLRG4UPEA6D4ZHgUe4qlwSXBHGFX5pnqgzU8ksp1Eh.QDDQfDDz0P1p9
RVU6BI0jZVVfDjqhDyF8fYCiave82IBayW7I.D.G+fhLMmgAYfDumH6qojPz
S9cdqHbmpSbmSOzqlGPnjStHReasmQ64Te9cdvPcnQ9mjllO.voZ9PHbGAND
tyoldB4hfReUEhtndZ1nVpLKuzopQA+.B7C3wAKRaU1ft0aC3740z1Ak+yx7
EewaQFsqub8sCsqtrGUuEyBulCvytlL4phuLbQY5+zA0FJk3hj35ByALi7PJ
uRYkRVzj2UklSnpK6a7tJYc2TzSReptyNeaGHkOy3WqVUXXW8+oCph5ZUcyD
WjFXf0fomIZrhvLzP2UnZpa9amofdjArQSbrk1JAdzmprVq2HfG84J8zqbkw
yZHbqr91pDzvs2YYsbadgzaIoccFhvxW4o9b9bMbzKkakEiAItUxs0M00+LC
V5iW+4BVIeTUI+B32k40kE.73.iqCyQPl2v5SYKEwOUmU8Jl7YfbFeX6T9.l
dkLSSXrGDAB6seJwWV7wHhtt6QtYaYei76eTsr4dKpASXPRJk8sv1rJisOu+
puKHVXwb+CAx5xcUK5lptuUFfdchfrtQUrOJ2e7zWPgdC5d0xkxC5UgkpZS7
xkCGvOX4AEf7fim3.CPbLklKVxS.hiHpRCJ.oAEEogEBU1zNFQBcXgPchlzP
EgtPGGG4IDpLEFO7wXtPzwnOnHKPrwDnXiP3w7MmEYAhLl.kFYAZznWhHKPi
4hFyiq.kNl7vhq7jMl7Piq7vGSdHwUdDiIO33JOi4jFGYmzi4iFGYezi4hFE
YWzi4gFEaOziIOQ1A8nIIFQ+yunxYkjFRNhwyZQDur1gAgDB9DQ4IjcfghH+
IjCSfLVzqMpkaKUEMsmvBQj8zW1Yg6OJAYzjtq58k53hoFvIPMnPZBosS6Qb
t6qgfSMLWMEpwKJeKe09TtPbCbVhnsOriB0.mNEZAilva6u93PMvhIPMvovD
XWCOGGqAeJrF5EpYscxdjrFrovZPfZ+MtVKNNFC5TnELVBtsiwijwfLApARu
zf21EuwwXfmBiAjoiD6ZN6HYLlhDJLeity5ZX13XMlhDJzIDoi84ZD5HYMBI
623s2IzTjQQJR6uosWYiB2.MEYTffZFPaKPGGtAZJxnfw0gvb8oajzhIIgBT
Rz7zfBJ5U7N+mfjm3cblnfbgEOwIjvan3cZlnfp9NNtxCJD4INU7NDyUDi+E
.3vOSrw0mK4a29frptcJsBxrM4ez8mwGaWHo80U3tzNiypjl+1Q3Fu3Vyr8e
29+Ps7lFK
-----------end_max5_patcher-----------
Adding a Second Instrument
Jumping back to Reason, I've now added a second instrument: a SubTractor analog-ish synth. When you create a new instrument, it makes a new track in the sequencing area of application:
If you start our grid-based sequencer, you will hear that the MIDI stream is not routed; rather, the MIDI input is used by whichever track is currently selected. This isn't optimal, so we want to find a way to force our sequence to be routed to a chosen instrument. Performing this sort of routing magic will require two things: MIDI routing setup within Reason, and manipulation of the midi message that we are sending to the rewire~ object.
Let's start with the Reason MIDI routing setup. If we go to the top of our instrument rack, our basic Hardware Interface display doesn't even have anything related to MIDI showing. Clicking on the Advanced MIDI will reveal a MIDI router, which is where we do our dirty work.
In this case, the MIDI Interface shows "No MIDI Input" (because I didn't set it up in Reason's preferences), but that doesn't matter - we will access these devices directly. For the first channel, we set the MIDI routing to the Kong 1 Input; for the second channel, we set the MIDI routing to the SubTractor 1 In (make sure you are selecting the In option as opposed to the Mixer connection). Now, within Max, if we can access the MIDI Bus A device, we should be able to send MIDI to the individual devices - either individually or simultaneously.
Next up is the changes to our Max patch. We need to change the contents of our midi message to route the message to the correct MIDI channel of Reason's interface device. Luckily, the changes are pretty simple using a few extra inputs and some message formatting.
We now use the bus number value of the midi message to choose a MIDI bus: #1 is Bus A (in the Reason Advanced MIDI interface), #2 is Bus B, #3 is Bus C and #4 is Bus D. We also have to adjust the MIDI channel by changing the message number (144 in the earlier example) to the range from 144-159; we do this using a "+ 143" after a channel input to set the channel number. Now, if we select a device number of 1 and switch between midi channels 1 and 2, we can switch the MIDI output between the Kong and SubTractor devices.
Here's the updated version of the patch:
Copy all of the following text.Then, in Max, select New From Clipboard.
----------begin_max5_patcher----------
2513.3oc2bsziiaiD9b2+JH71.YWDGshukFDDrK1bIG1K60IKFHKywMyXKYH
I28jDj42d3CIY4tkrdXa1JCFL1sjnIq5qJ9whEI0ue+cKVk9YQ9Bv6.uGb2c
+982cm4V5abW402sXWzmi2FkaJ1hDwyoq9kEKsOpP74Bys+V.jfqta5ghshh
hecuvVyKjIpR8+Kepbs4Wnpku63O4ioIEIQ6L+fE+6LYz1pmrOpH9QYxlOjI
hKr0Gh66QYALFcI.Cwd9KADn9Sjumec6jbXmLQIGF4F0ncxk+locfH0uotrV
g1TXn9l+w82q+X4.wk3zc6DJ07k.y+8m9weB7edLJIQTqRMQ.XsdlIxUUPTg
LMogthoHOT.hPTZG2np9keTqniB6ZVer.cUEPNOzAqZlrMqzW6WiZCBL8m.X
JShWKh6zc5iaSiZ2gBR6CNQXOJEi4zZ8+U3YanFBp73HAvv5eFxeXv19nLks
oPj8AQRzpsFc3541opgUhry1waIXwpnjMGwKkPJ2cXWSgrADhC6ABQbjBB4H
T2HnRDqaA1k1CurQnWA7dPNrnqXu+eT7jLV.9aszyGRlD2GVg.U8ewF9.Je1
0+sK3PyCtQ.d.CJRA4hsJsBDALTjqNjuDDaedwiB6MEOopEf1eF72gDx+P+y
JKSrkRM2qpQ1JSDwoGRLsDoElVzzFqgP83PX.BqPZhFj.PqqH6qBFSL6bJeH
8Hao0a6qVZu5tiMHuHSyigTyOV1CcNScUjtYipoFanaLz4HoBIdATrOhqBPC
oB3P4+n5GU94zAgUoYqEYwoaSyrMDr4vOK0W1rxa5jUd23GEweRrtmpXBv3l
7mkJbnSbrcPDdFPjnH1QDFjpixMnQTtXTC0TZI7fsAoXmzWrKxdMK92jKJhE
a29Mfch77HEu8gbQtgf+ioY6dGn74fuWYQ9Av2mk9r5S3+z+GZkVG2Bsd3jn
0o7PSexvPsWIjZhAlvmQL5k.1qf03shnrkfrnj0o6VVCfP8+NdI8zKCO8RHV
ecqPLcTNvD9jPehB8qbsKMAgldebza1D35XhspnTNhTuBTLivrrCvAGb4fCC
oAGL6JN6Vz0CbTjJYopP7S.+qn3B4Sh9fpVIA8mFLoBFiDZgIXfIFXHZtlEf
jzBw6LzdaUnj2lL4ZfLGHS.+rpBJxje9mW.1ktVzxDEnvogOpdTU3CQMvg1a
xe9MU+N7rjEmI7t1ohXWraDSEtlFlF5DpdKnh.H.FPT76L.GDnI18APEYNxP
pSTCko5O1Ke0a02sa4nSxxAMNyTpMvHlG2OL7rlM9nra7qngCjWH1+TTqI.7
xY+XLiCKM3J5156tYRf4mKNMHzKrTOKM0ecOOhNbgJTw6kuOMqnu47V9kcB+
s9GsUp1MLSqeYSSFDaACpkX85Lvb30CVydYOygMVCFeALV1gWn8DRm+azfLl
IBHxzyOf0muVSuoVyFO9h41PPCqFumgjoiAsHS.spCaqRteJJqVgd0CesWzx
V9esprVpUdYZRSCeCbDMPvhvBLyVv2uNMkmu6lMzSSbm8vbBaEIY00S1mTE+
IQVgLVYaanF4QOIV+gnBUCs5Pg33ekWh1kvsFQ2dPj9wpaWc+lxSEhVlGfSd
lL4IYt7Tw8jBj+nh9rSa1IEcaZxlVJosfFOmputNc59VvQt1gOt4zRnMDy8n
XBlDnbQBMYAASdim1TW453LTPsCISKXJb.qNckgzxTrYlV47CQniDQl1jGwr
FigiPyaHgLNHAMszxfU8af3PT.Z96jfGIhLsbnhg0akfYuOBZjHxzRl.Jf6Q
PTJKX96i.GIhLsL8ZRfY4B4O6cR7GIjLsUvGoHRpVQ4YtSR3HAjoMgQjRWBn
jv+B3hDLR.YhgnonQBCC74y+3Q3iDPl3DmYXOHApWR84tGxHiXE4Owf3CTC8
ZChel6gLx.VQSKfUHDqF4kS3+EfDYjwqBmV7pAAdTtOye9Gt5HiVENsnUUTH
b0bew74uCxHCVExm3rdUi5pBMKb9Gq5HwC1Ejc14huQGYJZeT7m.9p+AUx6X
IRt7DFgCsKzNOzbKM4R2oMhbywnIrK.ahGvKGOvzY+F7qq8tQzmD5sk.fQ.P
e+d15nKO6tt2+xARtMm093yij3aMZ0EGzN4Zopa2CXvCDvCPvCijjlbwPDAE
XgHSNaeColD+15n3uzxZYyO6tYzrmosaeXR0J41iJb4qIsM48Qxjuz8B2z7o
uxXlK2jnMQM+qSV5zsx7N1gr8bNJNtVwV5CcV3O2YPwBZU6AcjcCg1qWvvWL
m5c9WlrRZaV3q5B4bHQVjW7qVwgzxJvrSYEMqvTke6KdpzHaeG2u0mKUUuzt
NTuu4ASo0ESxefqUTC2j9VrHSQu7UKp6s.ZZtXeTiST1v3flX5YrADwMeYOK
NyvXDS2KRl.jLwUn1Furc0yr69l4WnhYhmkYhu.9ehn7zD.ZzTbudgpaNl+E
.bj.KGlO8JtikXS.4zbXGjirSzzhhlxBqWQMkGiIOEFcY.5u1j9gmkqKdznn
9dTeb.YT64gppRqw1MTjX29zEMvLiHX1K3u37.aTF88OEHySOjEWgTUGlWvQ
MYsHuPlTOLx6ONGD.ttPOJWuVbx1dXsLWOL05tGvenxi9fL1q77Bg9MWdzqu
qijmWzTsKOuPnuo3CYn9OH2fOng3+3Nyk+PgGGJOvgHOPmHOrgXtzG3JGgOu
noZWdbm4hMH2G2wFxFf3vcpz.Gfz3FWY5PbkwtajhgLPg65XQ3CsitaFmfLD
WYhu6vGs4BR5y8A5XAh1m.4ZDB0G2bniEHbeBTfiEndG8h6XApOJZDysBTPe
xC0sxSXexCwsxCqO4A6V4g2m7fbq7zGIMxwjz8wQibLGceTzPGSQ2GCMz0Lz
8IONlft2fDcH+7rJlUbvPhQzcVKLedMCC7PhgFSlW4hB6NuY7PxsJwg1qgLC
UnC6eMjjsf6az8cx06SkIEkI.GygGeCSvsunXzuhXpN7T5a03L7c0zE+agtD
x7vkGwIHyb1SOQWz25VnKyJVXT3s.YQPOd4ofwcNInfagpPXdrxi3jCcRP7a
ftneKU5WcvSbncgcKzEUm2vxiUjKsKzagtfPJhH6g8vglExsPUTBNp7f73Ry
B9FnKPU2EV4IrvglEzsPUB4pgssmdFWZVtEgfn2MxgUGqAGZWtEgfnEbdPCi
firKCIxY2EIO7VDCBGqHhJOaCtyKAdKhAILvyu7Xq3PmD3sHDDRfZjN6Arvk
pxMIBDy6uGW5aMnA4bW51Fj73vMewPFrA5tr0NDwg4ToAN.oYJqlucaxEse+
Shr7xpzHHK1E8K12EXl2JN5W2z1KM03hLg90Sis776001eb+eBboQs5E
-----------end_max5_patcher-----------
Adding a Second Sequencer
At this point, we can directly access individual Reason devices, so we probably want to have sequencers for each device that match their capabilities. The grid device that we created is perfect for a percussion synth (like Kong), but doesn't really work that well with a standard synthesizer like Subtractor. In order to deal with this, let's reformat our patch a little (in fact, we'll hide some of it inside of an encapsulation to free up some on-screen room), and create a second sequencer that will produce basslines suitable for Subtractor.
You will notice quite a few changes in this patch. First, we've hidden much of our logic within subpatchers (named timing-and-randomize and different-timing-and-randomize) to free up a little space. Since the two sequencers are of different types (live.grid and live.step), we need somewhat different timer/randomizer functions, so peering inside these subpatchers might be useful as you create your own, personalized version of this patch. The other place where we've tucked in some interesting logic is in the formatter subpatchers. Here is where we format the MIDI messages that properly route the data to the correct devices. It is important that you either make this logic very flexible, or you make sure you are always using the same Reason setup, since the MIDI message formatting is specific to the Advanced MIDI setting of the Reason device set that you use.
Modulation of Reason Parameters
As cool as it is to generatively fire off notes to Reason, we can take Reason even farther if we can automate the parameters of our Reason devices. Not surprisingly, this can also be accomplished by sending MIDI messages (in this case, MIDI CC messages), but we need to know which MIDI controller messages to use, and we need to properly format the messages for the ReWire connection. This first part of this is provided by our friends at Propellerheads; the Reason 6.5 MIDI Implementation Chart gives us MIDI CC mappings for virtually every knob, slider and switch of the devices available. We will be referring to this manual extensively in the next section, so it is probably wise to download it now...
Our next addition to the patch is to create a parameter animator. The easiest thing to do - and to hear - is to manipulate the filter. With a few simple additions, we can get an animator that randomly changes the filter 1 cutoff and resonance of the SubTractor synth in time with the rest of the piece. The animator looks like this:
Here we have to use the raw MIDI CC message type (which starts at 176 for channel 1, and here is set to 177 for channel 2), along with the controller number and the value. The value is coming from the random objects, and the controller number is straight out of the MIDI Implementation Chart. This gives us the following patch:
Copy all of the following text.Then, in Max, select New From Clipboard.
----------begin_max5_patcher----------
3805.3oc6c01iiaaD9y69qfv3PSK5tthuIJEDDzzK.EAEooH8Z+xkfEZs05U
4jkLjj26tDj7au7EIsR1R1zdEk4kJb25cMkszvGNyvgyLb3ub8UytO8Cg4y.
eN3sfqt5Wt9pqjMIZ3px2e0r0AeXQbPt7iMKI78o2+SytQcohvOTHaNKHYY5
Z.zwo5RIaWGkDGVH+ZnxFeHMoHO5mCEsAQycJadSPwhGiRVcWV3hBE0343vu
L.6xlSuAvnh2f3MA9wmu+oaKpd.vxVUMU7wMgpayrnD9M7Ga73SBVKu1ruJK
JHthZiVJai20tEhmIZ6Wu9ZwK2nItrNLOOXU3d.y5nkQ.G.D.YL.CBdEbXAH
B0Q.PPGew6fdmNBcpvCppwMYg4gIEAEQoIcPXDOAgI+a431Y.p8vrkuHHNT.
pHF.6.76lmy8jgTWlqjmymIwRmylo6DgT+YCG1rNrHKE.cS.+0fEEQOEBFJF
tJzgHGRgH34hN2Gjr5DQHuADgpTUg7FXfY7UUQNGXYQ550bw18vkW+Zg9oaA
bo5d3YfmtRJjTThfHyYbrwCcDro5V8P1p6kuu9lqEdfvCMfP3.xCQwEgYCFl
3560BS7LLl.M2zYjga5rRgnwe5L2AT0xFP916Kx3JdSyt8gzr0AEbNmAhugh
QMTy.QtizrSt05IkDEu+nvkRfgeWhhCeJLKmaFPim6UyB1roQyW03qHPyeJM
qwrzhlhRTM4T2TV3SQUeeOUi7wnqqtXExnlQBiwhe4pdGwqAxvGNWEmt3cgK
ad+mktILIJooYLst7xvGB1FWbW2CQsu9CAKB68K2IDe0rUYQKSSDDQquon4p
G2aAP4zIhWetyH+DIAa53Kmy6GayuOHS.b2GG1PXjymllF29R0iUb18fjHN+
ZXQjhXQN02zn0axjSN03AElDvuGOluHKMNt0sRckm53JK4CmKBeezxhGaoHS
bE9GOZS0PvrZLZYzpv7h1sUDrJucKsVESS9rlxwsZeW44squuVPsWg0CHv1m
PK1gHESQxeQc1UlsC4VTq6XFm2gqC4NEp1R7nOaHtYGSrNrn9th6rYUMK0IV
Jyct3ZS8js0UxUSljGyY3.EQKdWNXct4fe9jUJK5wZf+vCgumInRGIPcaxlf
EuiOAs7eyM.hpXggXkUtLc.ThFLrs+0CwoAEmITiGRntsYPswZJ2TeNKkKGz
N.RiNajF5KWgkubddnOYWChFIVWzHw5Vy3xssjP6EOImOdxYVoXBl3IVDKYN
RX7s+ERg.brf00AuKLIkqk0kzv6b6iq3gAWgLItpmlVzg.VkNfWnx.nyXoMn
bgQuBCdkXUQfWgLgJglPMiVB09WHMCjgDakvSuPlVSJoL7GQqdcXfilcX+lD
XkaCjVhNfHghdzZp6ivhPnXIKhVPhSOVt3bJ84mWiRbTReljKoZw06FLxS2l
snZrPYQ5Mf1TNe4BEQI0qX6s0B67dYqO3iQKW1dERpEUjKLlVsXPsF4NURlp
IIueW6RQwBdasHY7mdjLWUL2pBqfj0jhERcVBJKFuw5PxVEEC0Ueg8PxHcIY
6fUVDGPs3kIVCJ2w.dOvLxtnYntz7PvZnhTasiVmkG7T3x63OBtMF2ETTjEc
+1B0b6M8B7K0anG2aqmfKB6jHNvCuuG5p3z6ChK86c82sCOQd8yf3IFJg3nm
BmmWDtoxK6OE77SZuK1YLD5OXAPWlLHSbCBUtQt+vEPquY66xw9CkvM67S8M
mutnr.zcpXP2JLV5DyAZcLGj2GXG2GEaYM+3A3LeJHdaX5C6GDhm6pUco5UA
23ZQIc3v7lef7GSyJ5cHq0GMNMYUGexqaJCdVbQ8ECyuNJeSbvGAea5xvAJN
TLlj0xqL7kXyF9RW1ryUnhCHa6Unp4EGF.A53oVPNTsfbVuPB9kHp01cHs7T
W0xSGVYCNPstjF9WQ7NO3O.9ugwoKhJ9nfdjsI9i5FedNnNjvP5I.0X34HBP
88Iy2DFtLNZcIO2KWDquX9lEtILYIX8IIgg0ggB4KYn7UYMAz3Q5ECGxzm3K
tE7lsYIfzDPQJHHNN88.Ut2D8yJiWFn3hK73gC1iHR9FEvY5bpv0YPSZfkQO
7PXFGCusHhCEqtkiR2VAUgCa5CTqkxiLV4O.z1ye.k+wb8mRefozG3rbY6p7
2qlETifqThDGwMttJqqPpn+QjQBTH.qoOsO47FnWed6BGqHnnT3cCX41LovD
ewr9Nmz+MPDW7bUiCTYRWgYdWpXsLVokQdXbclNZBfDIyuOr6KM7fxLb4lyF
OwdiU7W6MerGRzsLqLb5K0rOUtzWP9C45LRH6hzsIx7xkit8BozWbhtHwRU9
CM.44R0OMy06SLj1XqIrqkSRMTwccOLo0F.v5i7JEMGK80V4pOdAAc0+hGyU
OM8Ttv3dKwS4cPJcSy91CIqc.IrnntxNEVC6Hb7XcYmI1S.46XH21Ym0lj6X
7XJVUeBDqphzUqhOrCotOMaYX1hzXkuXdK.VtAPKeooWL62KUrJWdRUudDWT
w6wBuyn6Ss20Fej8jWSqbGzcZ1+9+72dy2+Uu9Me22K7V5qeLHIguLLj1d9S
t6B5GSKMkUsBLrxvDwlkwLNGkxFRn4MOFBdiXqBrIMqXf.DHqAd.ccLLd3Nj
3w+369m+8lLIvABSPPXCPAoV1iAAE5f5A82klrZv2vckPR4Fty2ej7WNEO4u
7I+k+66sa2Q7+HeYCX.APAt.FvC3CfN.HjyM.fX.jvGeNjOefrgwOZDgxPGe
+i6JMlNdp7R86y0iyi0dV6OCvTCuWIPDhpzU7R8K5461NLZrhixAjLNezjfP
y8nXGDiKdTteqQx8g93GKD7nsodflfwTTdY78cgTpJ+7tnP4nEcOHwDPIWFG
h8QdnKOWIxazfRrIfRh2bNNRHWdlRj+ngjlXS5gQ34DDk55YALktiFTZhvZh
78lywQWWKPUIhMZPoIRjAwV0mAgdHrEvURFKnz2DHIWSoGk3aC7jzwBH8LAP
xUT5664vr.aJQil44LiTpH7mCIPDxBXIGs5ugqQVzHgaEjZQiWbVxQaYNFY4
2DetUPLByFTSNZqxwDKxAhHyoLGWGKXQNvQaQNlXMNbsjLHeMirKOKIbzVii
IVhCWKoG2tblEXKIb7LK2b4s4klYz8RTimHiTMdBx7ksIze9oekdxTEpvVtK
2CIQtOEJWgP3TgzZpPZMUHslJjVSERqAqfIQrmh4ijTfDcRpTnkQzTcHZGKi
n0oJDg7sLhVm5SExyxHZspbYLKin0oRDgbsKh1SGZ1xz34qCMSrKZ1UGZFaW
zLSGZFYWzrNSFhrrIC0YtPjkMWnVEjOKapPclIDZayDpCMaYSDp0l1yhlG7S
v5Npt0WRn8npCq6VPEq6TJqiVtIMJoHu5jtgMmTl6fhyTDo+hwycpbbmno1O
dy2mcLceFiliKS8zpcoRy9LDtyxwMeeF4a39LlxlyTYimkLLi7LcW1CM2sLW
NskgYlo6yNdycJyuMaYb10z8Yt3reY5QZKiyTC2mQTOtJLYJiYKCyDS2k4cP
TY9FZKCyXS2m4hytpzvxVFlQltKiwbCRT4vmsLLaZivfboY+xTaxVFmMsQXh
NHyqwf5kebFZZivDADDUluPVx3LzzVgAE6QtxjMyVFmMsUXdD9jyprYxV5xl
1HLp+b6Q40mhmjDvS4LIZ5zu3EQySm9E+9shBcoKd3HJZrKd3DuAszmXvRFd
0rgUkLbLajJAJ04F5TIPYpDnLUxv++5RFd6YHZq8q3wPvmkGVrHLN9y.kYUJ
XadXNPbIQAg5yAkWG7EKRi+RvWjk9d9qv+hyW17VJrIQVPg2E6Gpzq1ysddF
DTkn+TY4HgvzNaB2aBmSLMSGs8bxh3vfra.UUz8pQ.n3eO+VZ62529shJ8S6
ZkcqwHp4JQ4pgGempBQ3Tod+rvQHiNUp2mJ06Sk58oR89TodepTuOUp2mJ06
Sk58qlJ06SNl8SYGyJp6z70X+Jrvur7UPvQeP.3a+lu9a.2uM+FvB00EK+V1
X3S76BPL0O3OBIj+j3qU9YVnJg04yqdHsVfGYX7gIF6WW2qn74skqLQYvmq4
bwKZlUVc8Kcnq8Wc8QCYISWrqs+bIGo7.iU3KSPTNHJA7C7a.WwwG9gYm3w2
5QhofZiDyMVV5OAGhYCn.ENfATHZ3qe5XkTGZzhdfqcJ8oN1AnpC0Whz4HhW
sNoOLa.4mJN3Y2.5jYpJO6Fvk01CJVpDqelJ+C06uo9W6TjDZ9Gc8oN0CVY5
YeHlKzV06gXdyK1ItdnC5Al53.ozQRzlPnRqnTkXCNw1.qqFGh4qCxdG+BOE
lUDsHH9fbiMcYR8O0TzxHQOnc7xZUhuLxQedE4g637EOJoinZcjS07FiWG4T
MW9Ie4mY4g+7xfE+1Yxh3h7UN8Q5dCB8nye0X7fc9L7AQI+V+b7Mu5I1enTn
x7ODVEu1d6PTM3s2iANOhOFFKXae9uZozHNJugB2zrnlw.F1gUP0AAuQ7haz
sddJfxx1QyNzfJGrMIpHu3iJ.fzAC7Z93nTovytZs0Uij8waYNcd8H9sORod
P1qdd0hcHK5nonVCFkiIqI+nubgs1QDqYzvRyC2DvWpyPMGnizsiDhhe1cuC
kXScxzLa.QEQhDXBPApr5VUR0FAPAOfFKkE9d97b+F36CCxSSNgC.LsLDm3W
p+ygdDKwcOUcb6OgsVX2YsvEglrsQGDZD.5c0Y8Aec9kgd+TANF84kKCgHMW
+hf.U19FtdS5rgR3q0Zhke21QAPgc65HuRD7vd8WKWQuue612mc6MTpK4ryi
RmDS0nziuNji6nQNDMHG+wavBoC5LZjiNrxjQiZb8rJvwUGAK2Qjdzg2gLhC
WPMnGp23QOZPNrQkZfZPMvQgZn5HZ4NdiUTrUIpS0QzBSGO5Y.Pmc2dZP4Yw
Iorjch3ViU+1F9JZvl1UGoQ53YkDQG6.FOijvL6hgCaY5xwlS..q7dak.f7s
FP..oicv3i0GZD6BwRwf9tva54u7k+kI5I5X1w3YPOz0pl5PGAG2QkZfZPMm
iUGpENuy9DRPH6r+f1YuAs69Bhe290q+e1Y0HHA
-----------end_max5_patcher-----------
At this point, we've created a pair of unique sequencers and a pair of random number generators, and have them use the rewire~ object to control a pair of devices within Reason. Unfortunately, that's not really why we would want to use ReWire; this same functionality could be accomplished by sending MIDI data through Max's Virtual MIDI ports, and wouldn't require ReWire at all. Where rewire~ becomes necessary is when we want to get the audio out of the devices and further manipulate it within Max - allowing us to hand-roll our own audio processing to create sonic mayhem that couldn't be done within Reason itself. Let's use the audio outputs of the rewire~ object to further mess with our sounds, and see what we can do!
Messing with the Audio Output
We have to start off by changing the patch cord wiring of our Reason Device Rack. Basically, we are going to bypass the built-in mixer, and route the outputs of our devices directly to audio outputs of the Interface. This will allow us to treat the audio of each of the synthesizers separately within our Max patch. (Note: In order to make the back panel more clear, I've removed all of the cables connecting the default effects processors.)
Now, instead of mixing the device outputs in Reason, they are available to the ReWire host: Channels 1 and 2 will be the stereo output of Kong, and channel 3 will be the mono output of the Subtractor synth. Now, let's jump back to the Max patch to subject these channels to some MSP mayhem.
Gaining access to the new channels is pretty simple: we just change the number of channels in the rewire~ object to 3 (to match the outputs of Reason that we are going to use), then use live.gain objects to create a mix of the two devices for our output. The next stop is to create a few idiosyncratic effects processors for the out-bound audio.
There are many kinds of effects available using Max; in this case, we are going to allow the drums to pass through unchanged, but apply a "chopper" effect to the SubTractor line that is in sync with the main tempo. Since all of this information lives within the Max patch, it is easy for us to use tempo, subdivision and content cues from our Max-based objects.
I started by adding a rhythmic "scrambler" to our Kong drum audio (double-click on the subpatcher to see its contents). To do this, I combined the {maxword|name=chucker~} object with some code that will do the basic setup and sequencing for me. What this subpatcher does is watch the transport location, and creates a repeating section occasionally (based on the amount value we provide as an input). You'll notice that my random value selections mean that the number and location of repeats are constantly varying, but the length is always a 16th note. This provide interesting (if not always well-controlled) results.
Next, I added a beat-sync'd bit-crush effect to the SubTractor output. Working with this is similar to some of the earlier beat-sync things we did. In this case, we track the transport, and on sixteenth note divisions we randomly alter the value between 2 and 8 bits.
These are just two simple (but kind of interesting) examples of audio manipulation of Reason's output. It is unlikely that either of these audio processors would ever be created by Propellerheads (or Rack Extension developers) to be included within Reason; thus, being able to design our own crazy effects gives us advantages we'd never otherwise have. Great fun!
Copy all of the following text.Then, in Max, select New From Clipboard.
----------begin_max5_patcher----------
6490.3oc6cs0jiaic94d9UvnZprO3t0RbiWb4xk2rIUdHUhS43jW75ZJ1RrU
ycnH6hjZF6YKO+1CH.nDoD.In3klTMqwt6VhThG7ctAbv4bv+3c2s5w3eyOc
kw2Z7KF2c2+3c2cG6sxei6Du9tU689sMgdoraaUj+mie7uu5d9kx7+sL1a+h
Q5gGyR71jEm7vljCoOWbKOEGkkF7E+7aC.WaJd6W7x17bPztOj3uIiS.XfK8
xFDrS9u.l14+BZt1z3WEenfsrGFk.d.XW7.hNrOHJzOiQevSuY7grh2EThVh
71ynkU+kj.uvhuD9Mm86u3yokUoA6hnW93ilQu9IBjQ.MzuwfP+O4mjFDGU5
Ac2JuWdozaeWoORNd92iYeQV2e7sBh3uk4w2Jw+SAEedG9a9Guq3q+DnYyvT
CnMJ+WVXy7egcJgZTN5tv3Mezea4Gvp3W7iBhdIwO0OJyKS7jNd4s9O4cHL6
CxYeUu9Sda7U9gkh22sZWRv13nbhnxmL+sKdb+hAfvjDHkGLr6Hx6EIe3T53
3P5idI4H2ig9kDHnhpwwgUuzQlEUh2KJXuWleV.mXglG+RC1+RRPTVkGjejG
8634zMIwggU9p3W4SRtxVJ+bi+mC1l8L66pLTRu8fWJXAqNhQaC14mlU88x7
1kV8cpnBWVPqrpbk2uNU5pp0eiAr76qPXPg9LvlILBfL0ZDbMop574pztkeT
xzpUqYWu1sbMbFS8WKtg+3cuq3Otu+wwDunsw6Mr5LX5ZwTyAmaZ7brz41EK
26mkDa.rhL9Ap6lfO4a.5LrZg4RpMhqVliKv9nWztQCY+ltfjH.lCd.8z1su
ckPS8C8ymHzW6h0SLSSGxU34Ro0JXpDNQCAbdb5Q8HhxeHqzAVPP1zcfjhep
BVHJgEfRXoLiYS7989QBev83XkQGUFpklHVogKz1kKFj+SSwOpLXUqJhL0Ci
PJwHSsDcTnqMBnXM5fa82k3s0+qFf0TeEWuZnqcIqZtvlTCgye0vKEMuDUrA
4l20U.Cz2BXms3LsjwNsBhvfHUSXlMTyutbbJM9PxlBhnX5.FUG2zYymEDcb
AU+xw4ic188bv1sUW+BeJ+o4KffuTMsXpskjczjhcmLTrqlTLU2y.NInXKMo
XxjAiAZRw4iLvjfhsaAEOMvXjlTr8jghgs.igyJ4XXOgwBOuEQlaUp2m729A
5Sf5p7CdYYIAOdHi6sobXC6ZzyZN5bsHjRRIhZd3pdn6BiezKTDnzieVIQt5
cm.Q1O4Ldch9bgS9yC+7+1SOQA7TieL5O+iO8z2dL1yI6drRv1ZQzn4S4lXx
VugiaswhlHMVz.owh1TcrnuB.IKd2tP+hG+m7Ng6UuhrPe.sJMBgWrBS5SNY
qexl3PdnooehxKB497WJEMP0hFu3kPIwL+jOviUpZjBnJ17kWegPi6npVMJc
exK7fe7SWFP9SjTPTPVNmfObOYenzsTPGn6U9wubjc1cIIHzkugzmiSxjyHq
begwQ6N+1dWYKTWkNlxc34izG2CIT7MzOo86tCD.Js6NNf5TnbkJAgjJk.u5
81494yt7.PrEY4x2YL.PDTHmkc4YYWdzbY86orpfzvfsGUdqKtS1hMRjqspa
fmN9oXtKsYgNAUSfAf5EdNYtLTG4fxgO9nLsUcgSH2RP0fIj5mQoEJ9wuCt6
Nq7AROFnEUbjKwUhcKwU7aYbslnB9hQU+W0pBvCuEx0ToJP6BknMelVXSRdv
yHMtWSPzUD75NDLwUWpdexUXU.WoKQUtEO6iKy8nBWjpbSVwU4YtK4gjzxUY
JQnzgoFNM0wwYiNO0zAZMNQ0yQZCNSazgZCNUazwpJmq06fsdmr06nsVmspb
3J2oqbGumKJetYoKtdSlmNeSXMO+Z0HjU6tVf.Lu2Vlx1K1Kr13d9iU0lxVu
Umls7nyFzVwUPU2ACN9C5N9CA7sMxAqdyvufA37FgAr2OM0amuRNfU2wefMn
rB.2tnSC3u8qK9ORR+G1+Xko+bkHLxxgivhfHIaxL0NglZmTiNSOs9on1Esf
6uHuad8LGsIL3ECypagc2XYBiRDhVrLXsrLzMhRQ87f+oG5U7m.KV+lF3O3s
hW490tDjGOaMsKYtXWZvXHX21yP.NKLjgigHr7zJFh8BCo0Kjn2LlA34cldK
i.Pdi3w377Tq90BCHpyUsKfPbsPnYqfv5Cyl5TWaluBXrEKCcAHmVH5BWBAQ
uw.JrczJF.XgAje4CeIv.1WQgCxKtDrkVNZM6.G.0cN.y648m98MFGQDWnVw
RbW3Hp3Hfdfk.Ismk3rvRjwRDUYHt+7dyqAa4kaXcEz0aXeGBlPenZT3BWvE
bzgKXsrIBrq+kvMg9d8vxkIDbIl.VqsRf7lXmDpWO3KgFoYI9d66kXmJ1PS9
N4XqkSBTGXB8P3HDI+xHvHtntIqGDwlt5uTXXqh6ix5n7UYYtOdHKKNRabgf
jmGzMUQasEV.ZM8hZkbpldGWTOaWBbxJiBIvWykrRaJoB0kUg5RqnUhCW6nh
zhQEpkip8AaeIl5ETvPHzIRkWoj7caCXZc7UW97e0vC6VfGf4CaFzlgk4M4v
xsaRuB4UWlLLvwr3ESHY21fFN8CZvCkFOqpxewLEMr6KzHeNE1vhWLSQCROJ
aHL5O0jMvswd37wbXas..tdtLx1lYIrHQZN8poDeF1RGDc.PD58.QWJwz93q
lq.R91m1SHR9L8bYgNi8poDh.ZKhbCZK.XOeFWsRB1Y9LtZyJwfymonqfTUL
tlO9Zgn1tjJvrXb4bd+qX3BHfXRC4g.fTIf.SI+CP6ALBIyD2CvNtZwylqHz
ZJNWQECREHh8rQg1ssCqYh.rYKLTAcmO9UbuIs2ztoA31KqMEhcXFZ3EtO6U
yzHxX0iwmR.NSr3SY0lYSMilkXaVsBbFoN2poOLT6SRoMFrb4u2TmG6rAXuU
b55UH7WQ0XqjvZffpiPpuCkwyegpcorpLfWglSQ6ZwDhFEBx0UyVLAboESHd
6kVLwRKlXoESrzhIFE7eoES75lcn.zROl3tQtRUUzlsPVVkZjDxZyVcK6oW5
PECr0rkNTwRGp3MgS8kNTwDytTabyTsMTzitYV5uEK82hk9awcK82h9F9W5u
Ei2xuU4zvBx6gB88ZSV5NFKcGiaqtigBMH.Rj.rvdVCZo2ZrzaMV5sFMEi3k
dqwRu0Xo2ZrzaMV5sFK8Vil1I2kdqgDFwRu0PNtrzaMtQRmvkz+7Md15tjR1
KoresHxsYsYbqVJM2nU9zsZgpsTRhuQp8zkRL9sQojeqV5+2pspga1VqwsZq
P4Vs00rzjhV5iU8nn+ahNc1MZGsaosEtzRK6AzXocmtzJbuA52w2ncm5klP9
zqUyuzaMtU6sFIFYwOr44Ca9XWZuF.nPChmpD3FauFlJauFlCT60XbfyzdAN
wX1Lsr3ysPdlmTIy.buhtUhY8v4H0ZWR7ewOZqQZl+KoUR11VBY1lV79s.ey
SsaDxbF8F7xqAhB5tPn1Hp8bFQuL09J0TDLfFHCrAwvxv1vwvkZny..nXnA.
Y.vF.R07MikcLahOvy6HTWYAXS1FV3.KRFPkr.Kkr.3zmErK8yATHnhQ.Qqq
ATONYg3c2IHh2jmDkthZbBqEN0P0LpN88ZLw75Az57pfSFt3fY.BolbuqBrf
5nWYEYlao6PZ53Mvtj8C6hYPKQgxx8BiZ1WL7JzAgWuNXQ8.LZNX17L8I52c
.UHaZ1HfBtB+JnNXT69ikTb0DKeXg0uOuRUgjtiq.1lVzbKtCXNtNK5evjUW
7es7CMMX2EcjrU6i25KSIq0PKvlmytMZCvcbMAPG0Q42hwpmBi85YT9hD8Vc
+JhWxn7ZpRVEMJubS3dqE0HWi9nr53JcFJGPRfII9icZ0XkLQGq0s5im8RiS
9pAHx3Gx6vi8fmW9rW..mlz5viq8LgV2341kETgud83oinxtYxcDmFcPnd1f
ngvu6IqXW7WC7DmUYOykCTWg4LcmwMrumv8Q.aDLCn0JPbZ0BPlBvwwa9xZb
4DBIKX9kvIMxpOUQv+hs+Pd36kG59Z4psllg5Ry3oCMqKNeYFqM8w4KyFsWM
ZlkgI.cjMPyPZFNcjML0T1XBAyN5JN6NcnY6YHMaM+L0oOMOwL0oEMaMcnYs
cCpqq6yxbBGBK6mP7x51B4d7UUenC+HE1lQJXZvc.5RySGGQ.ccDIYv8ZQyt
Z5uWxX60hjQmWMT5lzdupTrNfr0jhh0QRd5rRLbKlDHbZLu0VPwSDixi7DsE
wzpHc5ZJU5DjdsoPmFoOWSoNmxzlSVJyIMc4pIrephWYCoH24oGGGDY+jy3Y
XSofVwwppAqJL3S9q24EDUD.0Uex6zi5zU+EvuVbCphKHO78DryZaRwFXhvm
l4iz3BJ9P7ntB3Ip.tTUiHqSyIMH1RyJAQPvVEmDT9XSBb56oTDyHE2rNQf8
ztJceNLkdZ+7ERrGEUqQn8SdgG7ie5nlXgdXowxgnfrzremObv2e4MrmxNYm
YUmByckqFvFwOXaJ85Azu9bIQ1.sRbbKcSEPgrufzmiSxjHurRx8FFGsSgn0
6JaF3pDjKBeofIbb+ArcMdv3ofPJAbLO5V8TxtGqrgnJTAkF5VS9w3hC+.85
h7+R5wChzsoR9VToJoC6K7.eBO.8Idfc0.O.uZ3Q0DY6DdPW.WP9oQR9tXa7
dnw6OAJZCAV7jfAC48kE9h+.JrhcLYzjaFSZT7U67PYxm0R3oRyzuECcaQtk
YwqHLy539GSAH4b+ZRqL44DPaPkKaF9sEfJuEjk1XWuMejJ9Xd8BMT0Ghrjm
PZNoLojY1V5qT8.DgYIJq3HOTw.D2SRF.UivxY.ROw4MRO7XVh2lr3jGdJNY
O0O+0nAQP71akEujYg0JHX4zBCnWmfPYJ8zYsYwTVTbFaJ67073rYt7b0TxY
porySyi0TSoyQStXjKQ44nozyPyFN+L0X5+ca4ExOuLa9rxrlyIyZOiLq47w
r1yFSYmKlpOSLUedXp9rvrcqj5hy+xKO6Kutzi65SWDjIuLdfX8xSS8R++qO
mpuhzM7xSElgMGcnVIiRCoBbFYAa9Xpw9zNC+hbNDXhZB+I2nEzxgnh4dj+u
0c3Lf1rT9OAsQWe9OoFPwcVfs5uFfD5rtJcwwvBXProfYW.Z.uuo3ZwOCivx
5d05kETv4coXUH2RWzEtCY1MfJqRPXD1IeVl30v7hAxsCEh.dVCq689neTL0
HqElZWzrmvUfMCW0vPaMINOZH7jcL7airw.QDCdOx38Xi2CLdOrmfZah.pca
xx.dNaYPm7ijbb0h5jejX29NAIGmLEUqjiurHBlfXhHZji7lCbRxOHoCp1oa
j4jYG8HZRxSmD2A6N6xcNsIY3jYeS0cuoISqjr.MqR..zsalrbYKr80KE.zM
qEvyvzxZhkJY.coYvRtVLKy0h79OhxTsn7EUuUA.KaVJVf3kJNfTdyBnqRIw
C9AuMYzuvxaTR4IG5z5saAT9qGH4qWdtTzlsd39y9+gIgJJdhHoYCgj3k2P1
NThk0PxNvtygKQG9WCReIz62M9OyKq6dXe8s4GAqNXlrlCp1skx9Uae8YPKE
PNnTop7Ea8vGX5vWTNfunbaEI1f6UqQIsPQUqdTDrigP2fBT6EOt+67VNiw+
rw+meX7lfreO+Qydu7+33aVa5BA0SApD6oAEHU2Y5K99aCC1Kjz6tJlpc7Uz
Bo1WVCqr.ERGAJnKSfh2zXg.4xSHvfuOu8nomu6Aie9PRjQbjQVrgWXX7mM3
G8lAegO4kdvdDIONHlHGbdqeiCkNN0ZTx7UynjxTFXavSO4mPwvGxBnzztGn
nzCEPk+Um7.GsR4fqEQ.u0yd.KQ+ZSjrZK4OvR9CbksisqnarwmIEju+eXPS
ciMKfV6mR6xb.vzn0AxM4cuw1CILkI5xYcMa0+0g98gEmOP3m5Q1NMtaK12n
aDaGaAbE.Ij0NVatEvgbtwaAbT0vjX5xyiL9A9Bj6B5JRKCS9ufM1VZrF49V
1nlAQrlFZdFqeVCE85xzEFVZ2bmaUcltPFvLco3+68FCmNa7pvIkt67pyrsy
Xp0duRfqQrHsIVoQi3g6bbWW0swTXMcJgYKcKKwoSAAao8VRLg12U61HZLM1
PdjthyX64Weovc9QxHmkJCdNtaUYw61EdLjTzmSdLQ1DGxi7xuX.J2++t2.T
eg9JBTkcQTOI7ed7i7XbxV+D895KOoWzPW3PmlEVOErz+m+2+ke9m9K+0e9G
+o73k9We1KJhtLLMKMUVQGnFjESvkutLDe5JHjbniXO4pM0e9YeieNuVAdIN
IqO.DfcI7.XYVKdXM4vi+ie7+5eurPBnOvDQivV.JP9hgTBJjoWLz+XbzttT
vcB.PTvctt0EwbB5sdDy4FQrVhW9R7xGl3O15CQlNDFMbtUOSW2FZX10TxX1
pCqgc2iT4q0uGs338MFndpfefXbQClognNCm4mmC0dDL0AMCLDt1gfLg1T8C
r3jBheZkVCZZNm2KjZgxNHXhbsW65ZAHDd14oGTBtYgRbGfRpNN.4BcfsPpD
5byBknN.kXm0TbDiagPIz8lEI6PY5keBpggDhkSaDJstYgxNrslPWm0Tbzxp
MlJg12rPYGRjg7Z02F.bfn1HUhuUgR2NfjTKkNDraqjII2p.oSG.RpgRWWGS
61LmRH7VEIs6RyhvcM.Cfv1HRhtUARqtrnQLcVP7EMpuH4M6xb5xxuwtzYAY
isakYxa1U4f6x4BOdMw1zxrMKxAbytHmNrFGpURa.cMi1sPjDbytFmtbPwio
y.xxwtMykDb6Ns7NGvYsEFsdKzkmv8aWdBX6xdub6m2v85oN1oBqDtbGHC45
syU5a5FV3RqzZoUZszJsVZkVy3Vok1sLI7D577ImT.XcRpTvDinI5PzlSLhV
m9PDzchQz5zgpfNSLhVqdWl8Din05Lg0ZZQzNyqyRZFM6NuNKoYzr075LNlQ
y1yqy3XFMqiyP3DyYnN9BgSLegv40gbLilQyqC4XtSk40gbLlL+NjimicdT3
76TzEo8IiI75NKowl1qwhjJL+zFgEHYzZyhH5k+Vi7oJMxbnGyH3ZjHmTKJT
kxiY.XzOIsgtC7XFQrWaySSuIBaF5LzCYG3ZKQRdNUXy1C8X1zYsoHw2lJ7Y
qgdLSUmcE4M4TgOSF3wLj3PMgwxkroBaFOzCY5.DJRDwoBaFMziYp5rEO+rl
JrY3POjQH5DR3I22TgMOzSBCP0lcE47zTgOOzSBKe.Z6Tho95ymAC8jvx2oP
nHQhlH7YvPOKLPdwyIxBsoBednmElCl5blmlSSkg7POILh65oiwq43YIAnMm
JQKm+EchlWN+Ktc6nPupsObHA1t1GN1Y505S5mlFdgiuhlFNxtVb.uzBTVZA
JKs.kkVF9vmOiU8PT05W1y9F+oT+rM9gg+ICQVkZbH0O0H+R4MDpu0Pbciua
Sb32a7cIwel9Sve176K+UlOmDVCE9bb4B+KWSZn5XczOCDvS+eBqIkfsupzt
TubLTgimQHGd2D56kbuQQGcufC.x+2oWRp9R2puLuS+TsWYWgGQ5bKJmyHbM
K5AgKs58qBGA1jkV89RqdeoUuuzp2WZ06Ks58kV8tBRdoUuuzp2UEkykV89R
fYuoa06hvK16s5c3rqUumWBweKK5Dryuz7.qYDjZDDY72neATo3e6usp5oIZ
mBvMuVWoymisjWyZOJHIfoVzsC5Ty7FA4i55Cks0T7TUse093s7dB+PlEyVt
d9O6p1Gxdxp8oPdJ6hCR.sEpDGa.HQylffX1vTHTgj2h7gRG8tsWnRrTQwuN
qR8K+GxtqqCQOZsR4Ypc4Kt2K4iTF+m7SxB13EVl0uMHGTqtyG0dlDHNX6EQ
Bgn.xg0h35eXaao8YQekyidtoalc6Re0S5So9R7qFNjsY2Y2OBs8+xVuMecU
MrbWlsIKa99oQJ9oL9scKzvLuZ4cufnupVfu7UKumdkFRmLhxi9Td5UowDkH
NbgeHhuyhJl9yUKyGmDTdCHkqJPToJjFPEPByU.N8WULwDFjNTmG8GhBxRy9
c9vAKQ7cOkMxTjOENvJWMfMhev1T50Cne8AbCVLlWsml8lZpnURNoIMM1s1c
UspaNS4MlIN0+EuH+vqvCnIKJXXLfYP15hyH2JykrEpmi1rpTgJ46ocGAE.e
F17N7kJPAMEAEESUJw+yTG0e03m78RiiLPW8zvwtB4ELpt4g2l0dX2drQlIq
pFuJ4S+JPwbaZGBJihe3XVGXYVr6usEBsImV0L..u.+xep7I15u+k3URTCgi
4paXzU0PSywtyitj.AaHpR0UJvGS0uKilzkQR5Bdo1zisFziyzibLGGxobPe
0ptsGVxQGgG2Jz7PRNtUDKTD27QSzwUCrwZTkbzgSMdTCPCpYb3TNZfMimRk
iFXy3YO1RGvALZfikNVbrFQ5ApA8fwiG8nidNY7bXYMoTsrlTpVDcTsrFOdE
AMoT0I5nZgHiG8zCny4k9Gfc3mhE8IUHckFGe4omTuMBv5nMdlTvPhnmYWTQ
KpZ7HGcXvliF4frmVx+nIlqEzvoOh3a.Rg9H6kCf9HTmkHfZZLTZSDyi5Av0
Bbuh+xk8WCwHQmYAMhK1wZR4IC.00xxHETCScnmqkcwCI0YkEVNobV4fcVof
cdYfQ+19i28+CqIeJq.
-----------end_max5_patcher-----------
Wrapping it Up
Hopefully this article inspires you to extend the Reason environment by using ReWire to connect it to Max. There are a world of things that can occur in this combination, and the results are often very different than you would normally create within the Reason sequencer. But don't limit yourself to this code - alter, add and twist this to create your own creation, and have a blast working it!
Additional Material on ReWire