Friday, September 16, 2022
USPS MIDI DJ Mixer
Friday, July 29, 2022
Why I never update OSX / macOS
Updating OSX is generally good practice. There are improvements and security fixes.
But for someone who performs using their mac, and especially someone who uses a variety of software and hardware on a variety of projects, it is an untenable risk. Every update could break something you rely on. And, it could break something in a project you are not actively working on, in a way that you might not notice until you go to perform.
An abbreviated list of actual things that have bitten me (or that I have dodged by not upgrading OSX):
- Quicktime library changes the way it calculates frame index, causing a bunch of Modul8 projects using clip start- and stop- features, or accessing specific frames via a time value to be off by one. Imagine that instead of "4 3 2 1!" your New Years countdown ends with "5, 4, 3, 2 .....".
- Audio routing software stops working until you boot into recovery mode and execute cryptic terminal commands.
- Full-screen output used onstage gets an orange dot in the upper corner. You can't hide it, then someone finds a kludge to hide it, then on the next OSX update that kludge stops working.
Friday, June 3, 2022
MadMapper - Separate composition from projector correction
MadMapper lets you create layers and distort them. This can be used for creative layouts, and to fit projected content to real irregular surfaces.
The problem comes when you need to use MadMapper to do projector correction, e.g. because you are projecting from an angle onto an irregular surface, but you also want to do a creative layout, e.g. have a bunch of circular images in different places on that surface. In this case you have to correct every layer based on the projector angle and the surface it hits. But circles don't have mesh warping. And even if you distort a circle to look good in one place, that could fall apart if you move it to a different place on an irregular surface, e.g. across a bend in the wall.
What you really want to do is to correct once for the relationship between your projector and your surface, and then have all your layers run through that correction. Then a perfect circle layer would be a perfect circle on the wall, no matter where you drag it.
MadMapper does not let you do perspective correction or mesh warping on the projector output, but there is a workaround.
In the projectors tab, rename your projector output to "loopback for correction" and send it to syphon. Now make a new projector called "projector", select your projector as output, and place it far away in the workspace so you don't have to worry about spill. You probably want to make the loopback the same dimensions as the real projector. In the layers tab, make a new layer "projector correction" and select as its input "Syphon: MadMapper - loopback for correction". Make sure that the input is capturing the full area of the loopback, and set the output to snap to the four corners of the faraway "projector" output.
Now, you can use perspective and mesh warping on the "projector correction" layer to correct for the relationship between your projector and projection surface. And all your other layers on the primary output (which is now named "loopback for correction") don't have to care about those details. A perfect circle layer will be a perfect circle on the wall, and as you drag it around it will run through the mesh warping so that it is distorted correctly to appear perfect wherever it goes.
Thursday, May 26, 2022
Accurately preview projector throw and placement on your phone with "Magic Universal Viewfinder"
Magic Universal Viewfinder is a smartphone app which lets you shoot with simulated lenses on your phone. It is useful for location scouting and previewing framing for shots.
It is also useful for simulating projector throw; with the right settings in the app, it can simulate a specific projector model, and you can use it decide on projector model and placement to get the coverage you need.
The tricky bit is to convert a projector's throw angle into a full-frame equivalent lens focal length for use in the app. The focal length of a lens and the throw ratio of a projector are conveying the same information; how wide an area in front of the lens will be in the frame. But the focal length and throw ratio are described in completely different ways, so you have to correctly convert between them.
Know your projectors
You can look up projector throw ratio on the web, e.g. projectorcentral.com - the site's calculator is useful for situations when you know the exact measurements of the space you are working in, but the app is more useful when visiting a site to decide what is possible, or exploring unconventional projection.
For instance, my Optoma EH465 has maximum (distance:width) throw ratio of 2.09 - this means that if the projector is 2.09m away from the projection surface, the image will be 1m wide. The zoom lens allows a wide range of throw ratio, but this maximum value is what you get when you "zoom out" to get the smallest possible image, which is appropriate if the projector is going to be placed far away from your projection surface.
Convert throw ratio to focal length
You can find the full-frame equivalent focal length of your projector lens by multiplying the throw ratio by 36mm.
2.09 * 36mm gives me a focal length of 75.2mm
In the app
In the Magic Universal Viewfinder app, click the upper right hand corner, select "camera", and select "Custom sensor 36x24" at the bottom - this is a generic full frame sensor, it is important to match the "full frame" we used in the calculation above otherwise you won't get the right results.
Now I scroll the wheel on the right side until I find 75mm, then long-press to lock the wheel.
Now the orange frame in the viewfinder shows exactly the coverage my projector would have, if it was placed where the phone is.
If I repeat the calculation for the "zoomed in" end of this projector's zoom range, I find that it has a range of 50-75mm. Now I can fully explore all possible uses of this projector in the app.
Confirm it
Use it
Cheat sheet
Friday, March 25, 2022
Piano scales: use the same fingerings for single- and multiple-octave major scales.
Notes on piano scales
Don't learn a single-octave scale fingering and a different multi-octave fingering. Learn a fingering which repeats elegantly across as many octaves as necessary. As much as practical, the octave naturally starts and ends on the same finger so that there is no difference between repeating octaves vs changing directions at the top/bottom of your keyboard. A few fingerings do not start and end on the same finger; in that case the mental model is the fingering you use to repeat the octave, but when changing direction you can 'shortcut' and skip an unnecessary final finger crossing, using e.g. pinky instead (as in a single-octave fingering).
Practice scales up and down as many octaves as your keyboard allows, so you get used to the octave crossings and build muscle memory with your hands at all positions on the instrument. The brain can get tripped up when your hand crosses your center line to the opposite side of your body, practicing the full length of the keyboard helps you overcome that problem.
Practicing around the cycle of fifths/fourths reveals some interesting patterns which might help you remember the fingerings as you build muscle memory. But once you have muscle memory, you should also practice them in chromatic order (C, C#, D, etc) so that your memory isn't overfit to those interesting patterns.
Practice to a metronome, excruciatingly slow while you are first learning, and then at a comfortably slow pace for regular practice.
While learning, play left and right hands separately to build muscle memory, then play both hands together but at half tempo or even slower - your brain has to work at least twice as hard to coordinate both hands at the same time.
When building speed, practice the same scale over and over: L hand, R hand, both hands at half tempo, then bump the tempo up 5 or 10 BPM.
When practicing scales with both hands, it often makes sense to pay attention to the left hand on the way up, because placing the wrong finger after a thumb crossing is a common mistake. On the way down, it is the right hand which needs to choose the correct finger after a thumb crossing. But once you have learned your scales, practice with your eyes on the opposite hands, or elsewhere, or closed, so that your skill does not rely on where your eyes are pointing.
Recommended fingerings
Standard finger numbering: 1 is thumb and 5 is pinky for both hands.
Fingers in light grey are only used on the highest/lowest octave. Bold are the ones you use every time you repeat a multi-octave scale. For instance, C left hand played across 3 octaves would expand to 5432132 1432132 1432132 1
- C
- L: 54321321
- R: 12312345
- F
- L: 54321321
- R: 12341234
- Bb
- L: 32143213
- R: 41231234
- L hand starts on 3 and after a crossing lands on 4, so that the thumb lands at the right place. This exact fingering is used for the next 3 octaves.
- R hand placed so black keys get 23 and 234 with thumbs on C and F. You'll know which finger to cross to when descending by paying attention to whether it is the 2- or 3-block of black keys: use finger 3 to hit Eb and 4 to hit Bb. This strategy is used for the next n octaves, although the exact fingering depends on whether the root is in the 2-block or 3-block of black keys.
- Eb
- L: 32143213 (same as Bb)
- R: 31234123 (similar to Bb)
- L hand ascending, use finger 3 to hit the root and 4 on the next crossing.
- R hand descending, use finger 3 to hit Eb and 4 to hit Bb.
- Ab
- L: 32143213 (same as Bb)
- R: 34123123 (similar to Bb)
- L hand ascending, use finger 3 to hit the root and 4 on the next crossing.
- R hand descending, use finger 3 to hit Eb and 4 to hit Bb.
- Db
- L: 32143213 (same as Bb)
- R: 23123412 (similar to Bb)
- L hand ascending, use finger 3 to hit the root and 4 on the next crossing.
- R hand descending, use finger 3 to hit Eb and 4 to hit Bb.
- First of 3 scales which use all the black keys, with thumbs on which keys. For both hands, black keys are aligned to the strongest fingers, and aligned by 2-block and 3-block. White keys are C and F (the higher of the two side-by-side white keys). Thumbs hit at the same time for both hands.
- F#
- L: 43213214
- R: 23412312
- Using all black keys with strongest fingers of both hands aligned to the 2- and 3-block. Thumbs on the white keys adjacent to the 3-block (C has been flattened to B as of this scale). Thumbs hit at the same time for both hands.
- B
- L: 43214321
- R: 12312341
- Using all black keys with strongest fingers of both hands aligned to the 2- and 3-block. Thumbs on the lower of the 2 white keys (F has been flattened to E as of this scale). Thumbs hit at the same time for both hands.
- E
- 54321321
- 12312345
- All the rest of the scales use the same fingering as C. The crossings make ergonomic sense for the right hand. The left hand sometimes feels a little random for which are white keys and which are black keys. It might help to think of the key signature, and how each scale has one fewer sharp as you approach C.
- A
- Same as E
- D
- Same as E
- G
- Same as E
- C
- Same as E
Friday, March 18, 2022
Adobe Illustrator paths as center paths, not outlines, in After Effects
Illustrator offers the following for stroking a path:
After effects offers the following:
As you can see, these are completely different implementations of the concept of "stroke". AI offers a "variable width profile" but the closest AE comes is "pucker and bloat".
When you do "create shapes from vector layer", since AE doesn't have the same concepts of "variable width profile" or "brush definition", the only way to make an AE shape which matches the appearance of the stroked AI path is by outlining the stroked AI path and giving it a fill.
But an outline with a fill and a linear path with a stroke behave very differently. For instance, "trim path" on a wiggly line which is actually a long skinny outline with fill is a disaster, with negative spaces filling depending on where the path is truncated.
If you want to create paths in AI which import as the same paths in AE:
- Don't do any Illustrator operation such as "outline shape" which replaces your center path+stroke with a closed loop outline+fill. Once you do this you can't get back to the original path in AI or AE. Make sure your path in AI is a linear path.
- Use the "path" tool to input as bezier points, or the "brush" tool to draw with mouse or pen tablet, or shape tools such as "ellipse". Make sure "variable width profile" is "uniform" and "brush definition" is "basic". Don't use any fancy stroke or fill features in AI... if you do, AE doesn't have a matching feature and you'll end up with outline+fill shapes in AE.
- "blob brush" and some other tools are inherently outline+fill even in AI and can't be brought into AE as path+stroke.
- You can copy the path in AI and use fancy stroke settings on the copy. Label them clearly. If you are going to bring your AI file into AE, then you should probably always keep a copy of all the simple raw paths you create, simply because it is a PITA to try and recreate one later. Once in AE you can use the original raw stroke in parallel with the perfect complex stroke, e.g.
- Use the original path in AE to animate something along
- Have different layers of strokes, etc, on top of the complicated AI stroke
- Make a rough trimmed stroke that you use as a matte to simulate trimming the complicated stroke