hz37edit

I sometimes find it quite amazing that people are still using my edit software, hz37edit. It has made it onto several released records, which is quite nice to know. You can still download it here, a free Windows installer. It still works in Windows 8.1.

 

1469565369_4129a58dc0_o

 

If it doesn’t make sense, here’s a track I edited with my own software:


 

 

Phase correlation meter for Ableton Live

I stripped all the bullshit from my earlier correlation meter attempt, so here is a simple audio effect for Ableton Live that displays the phase correlation.

Screen Shot 2014-08-21 at 17.58.57

 

 

 

 

 

 

 

You can adjust the interval (just drag the number), but 200 samples seems to be a great starting point. You can download the effect here for free and dissect it if you have max-for-live. Combine it with a Utility plugin (Ableton Live -> Audio Effects -> Utility) to control your stereo image.

Flanger

Back in the old days I used to have a mono flanger guitar stomp box. Of course I put it on everything, so a lot of disgustingly mangled music was emanating from my teen angst bullshit room those days. Anyways, we skip further three decades and here’s my very basic but useful similar sounding stereo max-for-live flanger. Free to download, use and edit. It uses gen~ technology. It is fully automatable in Ableton Live.

Screen Shot 2014-08-21 at 11.36.23

 

 

 

 

 

 

I made it for this coursera course I’m taking. Here’s a video about it with a pre-version that looked more ugly and didn’t have live.dials yet:

 

Connecting Spectre to Max/msp

Spectre by Audiofile Engineering is one of the best metering options for OSX.

Screen Shot 2014-08-10 at 22.09.22

 

 

 

 

 

 

 

It’s got all kinds of meters (VU, BBC, LU, Nordic, K12, etc.) and look amazing:

Screen Shot 2014-08-10 at 22.10.25

 

 

 

 

 

 

So how do we get max/msp to talk to Spectre? Spectre uses AUNetSend by Apple. On the max side of things, you don’t even need to know where this Audio Unit file is. A vst~ object with AUNetSend as its only parameter works just fine:

Screen Shot 2014-08-10 at 22.12.43

 

 

 

 

The open message will open the Apple supplied dialog of AUNetSend, which you use to connect Spectre with max/msp. If you open it in max/msp, it will tell you it’s listening:

Screen Shot 2014-08-10 at 22.03.46

 

 

 

 

 

 

 

 

Just leave everything at its default. After you’ve started Spectre, go to Preferences – Audio:

Screen Shot 2014-08-10 at 22.03.58

 

 

 

 

 

 

 

 

 

Network should be [v] Enabled. Click on Configure…:

Screen Shot 2014-08-10 at 22.04.04

 

 

 

 

 

 

 

 

 

As you can see, Spectre is “Not Connected”. Select the AUNetSend in the Directory list (if it isn’t already) and click on Connect. Max will probably ask you if all this is allowed. Of course we click Allow:

Screen Shot 2014-08-10 at 22.03.36

 

 

 

 

 

 

Now Spectre and max/msp are connected! Yes!

Screen Shot 2014-08-10 at 22.04.13

 

 

 

 

 

 

 

 

All the audio you send to Spectre (via the vst~ object) will now be displayed by those gorgeous meters you selected.

Screen Shot 2014-08-10 at 22.05.16

 

 

 

 

 

 

 

 

 

 

Here’s the max patch just in case you want to fiddle around with it:

----------begin_max5_patcher----------
920.3ocyX1saaBCFF93jqBD6zrHv.Ax1Q8FnmLsiplhbBtItiXxrcRSaU609
7OXBrBTm1NqToDGrM1u9wu9iO5SiG4ur7Hh468Mua7FM5owiFopRVwnpqG4u
EdbUAjo5leA9.ZJGtzehtwCPJAtE0Yaj8awjBDWcmgUUdaIgyvOptiv3oAm5
6hBLAwVrCxWsASV27lDsVtmaFpnpZ0UweXGRuB78mn+baQIj668qWO1TDCQ3
PNtjHuGyralyETzJtdv.wgBw4EFEIKhDWARl3ABlFTOt3b0xtb4ceMxudjnB
bvQzEHBbYAp4pfAOfxW.4bJd4dN5zuXU.uh3RpVrGUdqoZS8MG9hRx59HeqN
x1TR4V0SCIAczFR.wJJuUnXIkUrRTxf2qJDDVVRJwLTM7aMH6IXNi+flJA51
ed73SEpued7jywLtFhIuzqcrUqsLjfN8VI84sXXAtKzKTyuN40lHmNVCOW+N
pnjLYQbl1dMqaCE3BvP0jcukkp29ZPXPGssUrcHa6qoAS6tcnZ6eVmshEtIr
XiPA2FmK62xE+wsbrBbNhNXDt1FpvdCVMnWIctxdLKUYYBhzQel2sYIaHyhI
FmInKHP7Wcb2RJtY.wv2ARHn6EhvHAN5nZM3uCS98K1+n.PyGEXC+pNFNDES
BzQsizAwyTm+5KDdZreCcU6tuhJ8XedXggJD5qj9hWbmvIwUvoJbDXt7zkWZ
zfrA3D1HEmfKwAhiyIcRmHWac.goVXcBcBd1sAxDFmAeZl6.SRrEfIvIfY0C
qJPWJbYtEwZhm+4xEzi4vUmSZNuchuyhjOjvKIw7cWqiYehahGXhy9.uq940
H9OPj7O91Y14lKmJENQIlvMUo9XQXzjDc.zzA22GJNQib5pj4WtVN6RtnDWI
LWjMye1iDC3DO4rHpsAt77+tPouiMjsHFCtF8pcjxcHx+wCUCh0vLU3k3T0S
mhTAgCy54zjcGlT2pu5EAa+FupoWVeaFwJ2SWYDa0tmWXs.xQLNlTm4zMlSD
M6yFbdNp0aZliYxDyxqeCnWsWcNpIvB0D3D0.rfMgNiM.KXSnyXSpMxA3L3X
sbbCcxrPMogWVxI3hRNxrIbkUN1F7HMOwtQOg1pGGc1JvV8.bhd9Gqw.5IxM
54hJvbjsv48HGc5Fvc6NfnrpwToDQxW2URU+eslntDSzWpxTR7RvGvl9mppA
REYGwEoFsmpSs4XlLwaw7773+ZaUQNN
-----------end_max5_patcher-----------

Easy rectangular cropping in Adobe Photoshop and The GIMP

You need to crop an image in Photoshop or GIMP but you need some precision with the rectangular selection, so you zoom in. This makes it cumbersome to make a select, because you need to drag-hold-scroll until the lower right corner is visible. Crazy! Here’s an easier way. First select a small rectangle upper-left:

Screen Shot 2014-07-31 at 15.27.58

 

 

 

 

 

 

 

 

 

 

 

Just make sure the upper left corner is right. The lower right is random. Now find your way to the lower right of your picture. No need to hold the mouse down. Again make a small rectangular selection where only the lower right is important:

Screen Shot 2014-07-31 at 15.28.27

 

 

 

 

 

 

 

 

 

And you guessed it: the Crop command now crops as if you had selected a larger rectangle! Works in both Photoshop and GIMP:

Screen Shot 2014-07-31 at 15.28.33

 

 

 

 

 

 

 

 

 

 

Screen Shot 2014-07-31 at 15.31.39

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Inserting an image into a PDF and/or converting multiple images to pdf

I needed to insert an image (a photo of a signature) into an existing PDF. There are tons of tools that cost something, crippled 2-page converters or online web services that will make you tear your hair out. So here’s how to do this for free. I must warn that it takes some command line and open source hacking around.

Step 1) Convert the pages in the PDF to separate TIFF files. I did this with the free GIMP program. It runs on just about any operating system, so that shouldn’t be a problem. GIMP gives you several options for importing the PDF pages. Be sure to adjust the resolution and Open pages as images. Unless of course you love layers and know exactly what you’re doing. If you go for a default resolution of 100 dpi, you might lose some quality. Don’t worry if you get gigantic TIFF files. They’ll be compressed back later.

Screen Shot 2014-07-28 at 15.24.09

 

 

 

 

 

 

 

 

 

Step 2) Within GIMP edit the page you want to insert something into. If you can’t work with GIMP, export all the pages to TIFF and edit them in your favorite image editing program. Either way, you should end up with a separate TIFF for every page in your PDF. Exporting to TIFF in GIMP is easy if you know how. File – Export As… and then Select File Type (TIFF Image). Check if your TIFFs are all beautiful. They should have increasing names, like page01.tif, page02.tif, etc.

Screen Shot 2014-07-28 at 15.29.15

 

 

 

 

 

 

 

 

 

 

Step 3) Move all the TIFFs to a single temporary directory which you can access from your command line. Now we can do this in OSX or Linux. I happen to have both on my Macbook Pro. If you don’t have at least one Linux distribution at your disposal, it is time to change this. In this day and age one meddling with computers should at least know some basic Linux. The command we need is convert and it is part of a wonderful open source program called imagemagick. To install imagemagick in OSX I highly recommend homebrew. First we run of course:

osx_prompt$ brew update

 

Then followed by:

osx_prompt$ brew install imagemagick

 

Of course osx_prompt$ is the name of your OSX Terminal prompt.

In Linux (Debian in my case) it is (as a super user):

root@debian:/home/your_name# apt-get install imagemagick

 

3) We now cd to the directory where all the TIFFs are and execute the command:

root@debian:/home/your_name# convert -compress LZW *.tif new.pdf

 

Or you may choose to run this as a normal Terminal, because your Desktop probably is not “root@debian” so you might find that your pdf is now not owned by you. Also in OSX you can now simply run:

osx_prompt$ convert -compress LZW *.tif new.pdf

 

There it is, a beautiful PDF to mail to the eagerly waiting other party! Two things to note:

- We do an LZW compress because else the PDF would be of a monster size. Especially for b&w page scans you can compress a lot using a simple LZW.
- If all your TIFFs end with .tiff, you can say convert -compress LZW *.tiff new.pdf of course.

Automatic backups via the internet

I looked at all the options, but CrashPlan by Code 42 is hands down the winner. I’ve been using it for some years now and it has never failed on me. When you start hunting for a backup solution, you’ll quickly find that several of them are interesting but do not allow you to backup external harddrives. Not so with CrashPlan. It’s exactly what it is: unlimited storage for a good price. They do version backups, have an awesome application that runs in the background, have an iPad app and restoring is just plain easy.

Screen Shot 2014-07-27 at 13.30.20

 

 

 

 

 

 

 

 

 

Equal gain versus equal power crossfades

In Pro Tools you always have the option to use an equal power or an equal gain crossfade:

equal power

 

 

 

 

 

 

 

 

 

 

 

equal gain

 

 

 

 

 

 

 

 

 

 

 

From experience you will quickly learn that coherent (the same source) and/or time continuous material requires an equal gain crossfade, because an equal power crossfade will result in an unwanted rise in level in that situation. Incoherent (different sources) and/or time discontinuous material on the other hand requires an equal power crossfade, because an equal gain crossfade would result in an unwanted drop in level in that situation. In post production, dialog noise that is time discontinuous needs an equal power crossfade, else you will hear a small but certain drop in level.

So why is this?

For coherent material (i.e. the same or pretty much the same waveforms, in phase) it is a simple matter of arithmetic. 1 + 1 = 2. The instantaneous level at any point doubles, so we get a 6 dB rise, because 20 log(2) ≈ 6.02 dB. For incoherent material (noise from different sources) we immediately meet the central limit theorem and this only yields a 3 dB rise.

I made a max/msp patch to see how this could be implemented. The equal gain is a pretty simple afair i.e. a linear fade. The equal power uses cos(x) and sin(x) because of the trig identity cos^2 u + sin^2 u = 1.

Screen Shot 2014-07-25 at 22.54.34

 

 

 

 

 

 

You can download the patch here:

 

----------begin_max5_patcher----------
4699.3oc6cszbiabD97t+JPzoDasxy6GopbvoJWIop7zoRkC1t1hhDqV5PQp
hjZ8Z6x5GVNleYAXlAjCzRLnADa.IQ4CZUKSBLe8zcOc2SO87yu9Umc4pOlu
4rrea12j8pW8yu9Uux8mJ+CuJP+pytdxGmtXxF2G6rKuc61UKO6b++qk2d87
kKx259+QC+wU2ts3Os8GuI2+fO6xIKu5rrua+2w+Ip8klOy83Wc42+FJ2T87
uYx1oue9xqd657oa8OMI6Bx4YRR4OY69Y12U9E9kW+5xebNPrLc00Wmuba0K
aa9Gcuiy9huHa4proKleSRbVGHjve8cqu5RG8EU+kKuZ5pEqV6G9zxQr6GD+
Onhcbl2sZ41My+IGaix188qwZTIXMTlgdg77Ltz8Bjp8bmn2vxIW6dCm8kqm
OYwY8fusL+GJFLeBa6ytq.N5CxxXMIZrY9UKKFDsHb.gwnSxX3wLFACIFy04
a1L4p7OgyL62m80+k+YRNyMqy2THKNY67BsqHnW9LhDeH0EenQP3S3sswUqI
WRhel0evMv8iGwQ7ZEi63tFsSFT5dZlnGWsYMVxYMha.IMxFdTGmYs2sXUAC
JopdSyN2LYcwqea952lubxkKxiMD7.l4JFQSJLKk1xYkjy1Bbu7p5uabmZ0N
8G9mZdoX.NKe57qmr3lESll2rAddpocpelNLsyAYEqB2qVOKecKX+EE6dM6y
0hNnXSSLCKLunW+XRutZl8gqWSRMqyezoV2jCfduRxlM+cu6hucY1ulj86x1
TLx9MUexEyWlOc0sK21jl9aO3mnSxfGG2KaUlnDze+sa1N+cymtaLvZYg.uN
Ki6LEn8Sn7FLEvR5YFm6j8DR+ih8IOpijmY2tX67MKlWHFczMHLcxxYE7tk4
pJgSMu7+bretjYEk+l1XXbYaV1OuYq6UyISKXHylrcR7va2PfWMDXVB0pJew
BJUqjtgPgWxLU8gPCVT9DaY6dClceTlVHot2fPSj1xeSV9Ro0+lax2VvnKlM
7ew2Pa9YKqd1RifScrMy92BuX3yq+MaP9TR3d4Hui9Lm.pMVYvKJbPy3zFGd
rpOJUHIVS4fhQ3VFq723RkQwa3apq9lFcIxbeSGdNO5ocOl1ls+nWNSTA17I
+mZiXg0T75O+f+1AGFhceyhQM0IcnJlvHNnPJlDM2aXDoGm1UcJwTx1TBOez
5rtaY8ztbCAXtY4ja179UauKa+BMvByzuv6CNJSADdfj5.ugOrQeOY6pYW1s
7xbDB6lIgvQDNNhfNvbjOjutvo86xnDR15q2zMlyQKyDLE.Vjv3XQAJD3QOA
y0EUjJMfJGC6DLUW1TNYWZ7YDSzkPPy9i+TR9xi23dik8H1jNspL9XXbhcJK
RAv1jcsatIe4rl3yXZsmRfvUXh8bkWj85grWJ6dJA2ofepI5Q3.XJiljWGcG
8HrHfHoln2+aleWxJhBRNjBIqyd6aWbXWQIXJgvfvRnBTcE8wjHRRMFeJXOo
jPLV.LDjkOlEkUyCm.pDIZpsvZKdbtG0NveXN0NtDgPHGhQoSt8LLosTZgoz
k+iOfeQe2B9mD7izAhHDGO1QSlOFbiGlTIs0PXQAqdhX7vzNCwaBYvWaY3EN
R57AQb5IbnZmgbpHbnSmQPke8U6IjvAE.CgQOQjNRY5P3EKD7SGgCkrc9AUN
FYOeSy7iVRJb6fNo+ktMB1Z1KILbXtv8wYtRy3nWdqsyTjpVYJdiDJx.ajX5
h7IqGZCELKfcMIDsluLDFNSEaytbLjPRVVzUrDJ0myewvp474YztIgLe4QX+
X4V.KsF3H90SFNNxUS1lmw6nZy4oKADN7cpl.gyH7VYUigAkh2XFIiV7SZWk
cNBajeRexXZZj0EKVVWZg8PbrG5XvdjBPtr5YOXsEDamj1Jaw++vIW4rquca
dodyxUy239kMyWle1AqRndmaoRCVOL0yFKVIuxnRFUrR0zFimYfDcUHUljSB
GEnoVCfa4CgeBuTGo8qNREDUGpizTKoon1gnLRSTEMyxuJa6pr0Sl83qPZRo
hv7gZw79BXYCb8G8U+i+0W9my9Ce4e5ud13Ib2D6zjV5lByvNulgccCh2zjI
XVY1G.H0eDHq8jFhIo+9e6e+Ue8ytYIV37m.bVJYwrqTwyRTjlkJ3lWlu9tj
KzVrxScVaSSMMUlZm2RQyV8htd0r7X5NdhxzAeTzMTEe01feI.m1Cq.LzED3
atajN2qDEDlhWpFuPf6iD4.I4UiYoS68r8BsbG2BOQnmJbKH4aBcl0g02l9i
EAabWVmKqlildGkB47lGJHMrJp6qmrc87ONc65iXMTrX9FWftt+sEgpMSmbu
iB0pE2d8xZACud0OT66TiIxfjmgPkU32xP4w8Hk34f2kwyXGjExaW8a+ukhk
w6fnEGfdG238xPLvo0zkhk6FoiRAUBw9cPqSLvljFWNCjCYxHwXFosKgRnsm
YnSpsKgRH.1s4SwsKwZAvXPd2RdFEVmfQAGVmMYydx+cOwBpypAvRdIjNGqJ
05dBo3k.5h3Ux1WODaV0i2sD1xZWo6zcGgsz1WfD6MD9QZp.LR.mG2WRDPpD
AX3.jtNwRCfg0t0ZzSBvoRMXTsIPfpACCfnnFqRvfbgx7z+HPqSENlw3CP02
lUj7gsLw+Uuo.KiRymQmJPIqj5y8kmqLzQu+EkcWowgqjJVIaHCxgJKQL3Ji
b1y.kwzGtIB8BlDe0wE4eHegagh65UIHzmLpkt6hEZWhThOhoBMtCsXgv1t7
oT4yEIKzCsNt917Y20YKVGKWikoVozJbgQI7+Ce36fOiFWg1dk9fMWoYSVxh
+S+z2pkjAfI6Uc8AVLfgyStvvohmCLYN.WRvlK+3ZWmjI8GwWtSzvw4Zn8GY
y5oYOUcHIYo8Ey+Msy+8AmwG5r3YG7SaqzBPXbbZALij5ohz9xBio5I8Yt5o
BfuOij54fqcp.3hxHoc94izNepRcvyL91YovhaAJj+SylL8tdcmNb35bugvH
CANZs9FChr5mGJJRkpc9hjqt+C5n23+9e+2gtw+oR5OEmGc9gjlSh5ZRkzCG
1n5g4zB4770O2WCy19DPna+HF30vXlKLMoj9zJoiI8SqvjobWZcQKkiM1KGk
CdWygBPkGYOEZuS8cL1gOP6JPS4k0Dt7AX6OMo53ETcO7hm2M2t8P8+O6gaF
hL.7dey9+g17+d4NJ4D5NJgIEubGkbjuiRDIqiDhaUim4WQIbY6rfSoanjjW
XpU7iS46mjjWbpAFD52NIOh1c2fcYX6tax61Llh8rd2cSdw1vDgCS6I216l9
JQx2h.Fus2UI4BN8oe.hLA.t7ns+tZoxtuo.+DlKygnhONav6l4c7Zn+H4gE
iAfmDteVXCuBtQZTlmA0.JilroEw7UcV3ZGbfE89rRTQKB5iOJ93mrSXUIAF
xNlm07rOo3I6vUi+159bupKn514+mLUcQxN4EaT2W2w5n32tuZuTzE3ocxZm
8exTyE.jDGGUyoq1LJtyltyg3ycQk2r1AtKYLVMUsjQvG1kmmIUgh.dQnjtu
D4YKOOKBkj8opxd80IWQnjr8mwnlWJBEr83lz9DvHUDJEAfxdVTDJI6+gFyI
VMn.Pg+juDT390BNxkfhD.q+nTAJOB6rcB.82mSvF9GGPyg.YtRSMK7uc42t
7Q+8aP2WWnIMd8A1t3FuCC3h1cg1DZpGAio7Wl3PYhSw3cYhCPHgFNoeSbtO
likGZlJUyit20BWeTId1bypaWOsxhRU6KLis6sMKuv+wk632ey9FbU19gz6m
OaV9xXN+0ymcyp4K2FFDBizGaK0WEC6o1+hluob4TGehbPIwNg.ZaHf1QDnC
2lEgNCuAcDPZAATaGQPzXtbccFpHPC.AksqwtfffbSnfGhov.AB.Hn71MuKH
fVt+1NW88p2bZ3hcnNo+R4fxT1cjXfPNDoLQ2PnxXi.nzJhvWEkGdRo.Uzw.
fNCuWRfADToQgEBnHffpwruA1DSgABHPP.q1BNsOG3KDBt2fbLEFH.hJRGMi
wz9RLf6SuWDEB.v.AAVd+Tx4gNQnESgHiAhPjtaHvPcWpBThSHJlBCD.YwPE
qeHvuXnIHEgzhgk0eV6yAcboBJkGMGDSgABjPzCHcb4ffwGgL1TTs873Hh.H
Njn52TfWHhpknJDwgtZP2WOi66iVhP7R0oppfSmGuNJLPGD+MrczLUXLKnww
M4nvBATHHf1ADnDtpqqBBZ+cq3nBgNpjrCBdCU0HGMAIY+DjBPHhZrlEX8cV
vKHwY5cBR6oDgPJr9OpPLdyPL4CQUOE7BloQCcPB6PK65BMZ2JMhvZ86ov.A
PB6vcktziUZBtqH7Evx8oLQpWNpwCdjGD7hnP.BZH9zqscaoFqJz9P80Mh0+
O2ixeizXY6oFK3U15F6E770WSEfpQI727nVp7.TdqGFq.SqGZHw5n6XDyVu4
Bl+xRnhQ3HGMHn53rWMHPIEAIL5Xnrkp1CLToC4uCipSI7G70vmzQgA5fDLm
rmKQorwKQURgABfDLmoelvU7HK3JNNieP4Nl1wkXqx3Mm3mCXdoIG43ABxCC
DbepYPCDPbFU2w3Nsr3r3WY6RSFODn5IB7onzFtUKPJEkZPtLy5EBn9C4QLE
FH.hA0NllalNZ7GSgv3WAIM2JSulA7WBQQDXL9A4PLseRP7ZRPHsQCJPdM0U
ONB5s9JgN3j68nB1n3BLsQof3wgVzubWphVuliS1IUfRdbGSIiQR8s.FmCGw
TiJBncGALVzln3nFKDHr8aNvifvJ0iJBnL0CABThMraJ0HElvcrK0e0cYPRJ
igvJ4UaNmuF5qrCaPxREDeQTjdg.+JgQDXL9IXrYo01xcCta4t536KU0NyEt
JvXZLkfjVL7lUaGNc.In7uo6EBBdCpwzaPIH2ws8aFH3MnFUuAkPTBTcrrSX
p8agv9eGiQODu8319keoc06fF0Bd.FFLOPLH3Q6BxdRS7Z0XsOHRPdiPY8Ch
gLGTiDCP.Z4ZQuVtSn0QNl6nv.ADnHnKA9IUwHveWZhFBfrctjdk8iPzoU6H
MVgmJA4Wd+PP3pNTPvTMPv.gfNmReuEHYnYTDShAHnnXPhYHQEc7NCRHU0wB
Bfh2P14R8yniN9D6v.Rm9.GFZ6LrH57lS3afoUXnZZASLzpUod5Cxt4ApFUL
.sf+5QAkEJ5xZjH.ANjfgDjd5FEutqfbbTo4FnXf1caqzPQIEzNnHUWAbHgD
w6ZMW46M6RRnXq1SgABfDRjf2ODnpg.0Hh.JmzOH3uJtKqKEYfBCH.JpHU+P
.u1j.RNYfRQTGJM5fI0HJD..yhSXagkxFFujXfTEjcyj5t5V0G0SngYgUTOL
ITHz8DUVg.gEyHOYfpCWUOmD74zfI1c3AhnBs2esJTmwzQDe79gOt2ibdwpc
5JRLv.H2X6ZnoUgS6qltZjiFFn8bdf32FaiuZ5tGku6aHIgOJe7vGU0u4Htz
Gpg1unhDIUEHHnWlx746Oh.gQO0hwI8MbB+GjypL0fPADUaaSQdSunfZXA8B
.dIHFp6ZJUA8HozkP7B5r9UJp5EI0npNRJVFlEUNLzIdHni46vQXsLHETbG5
t1MIrQENQ.H0oBkMQHlDrpZBPni8fPGSSwrxV.g.JueHvWeTwTiJBn8cNHrH
HZyAfRWXGWDIzkQBEic0QzFoZwFDBnD9CABJIGUH.JYgccm6UNkWiX+N2aPZ
kBP4Ij5zCXcI2+gShPnCeEShAJ.kdAQOSQRHcm0HQADfVyqufPUGDpwDDTNu
mnvDxVkB0rdRA0Kj5X7qgMDNzjpC6RbcpvleGZr4Hs22TPdGRo8bJJjTzZjn
fBIXTzocoQai2tr5znfCNzy9ZOlLBmGdJgYiNd76HCmv0P0ufUvH2aNHwYqj
ziIJPPrp7XPEhs6HiomyhUkKVD4nMQQI59NSsqP9rn1PPfNandX5Tg5Y.qVy
BzYCUOMvsCF9lLHdvfgypMgyVMguyg.xmRVc+FEVKBoVYz8O2tM4zSWUbp7Z
NrTTLIJn.VexnicYhcmmWkumcJX6IQAEPJF+9cxL40NYlHUI322tTSSCx9UU
bglAaMRTPALavcLGjUAy62oWMYOEJX.TmkRzyVZandoiIQADPTHrcTotpi83
8tJzspwpTlteq4IAD5Q+6gWq+8fTEkAyzJsWlkBaWBC0sKAgVoX3HZ4MpFS0
5322y1mbyMeHe8lvfvMzO65IeuuY0qN2QNeomz016Oac9GlW840t+xj0Se+7
s4S2d6Ze+g+iF0Yut787Ku9+Cy8Uz3.
-----------end_max5_patcher-----------

I also made a YouTube about it for this coursera class I’m taking: