Monday, May 3, 2021

Samuel Estep: Project 4 Final

Concept: I wanted to revisit my second project because it was the one I was happiest with, while also being one that I had room to expand on.


Techniques: I had two ideas for expanding on the concept, the first was to use the space around the boot.  The second was to turn the boot into a 3d model so that I could take advantage of madmapper's lighting.  Unfortunately the second part fell through and, as I had spent more time than I should have, means that I haven't completed the revised projection.


Interpretation:  Expanding and using the space around the boot is fairly simple.  I've reused the boxes from project 3 and rearranged them around and behind the boot.  One of the main ideas that I had (but didn't get to do on the original) was project water onto the platform beneath the boot.  As part of this, I'm going to include lines around the objects to simulate ripples during key parts of the song.

Turning the boot into a 3d model is something that took a lot of time and ultimately failed.  I attempted to use photogrammetry to create a 3d model from the boot, however, consistent with my previous attempts at photogrammetry, my effort failed (the point cloud was much more coherent than previous attempts, but it still wasn't good enough to make a model from).  I've been using Regard3d for this as I have an AMD gpu and most photogrammetry software requires an nvidia card, so that could be part of the problem.

Lighting is a big part of what I would like to play with in regards to the revised projection, so I will be turning most, if not all of the scene into 3d models.

 

Original Project 2 video (Original post for info on how the cues were controlled):

The Revised Scene:

Ripple Concept for revised project:


The boxes will get their own surfaces too (you can see the one on the left is currently wip), however getting a rough setup for the ripples is about as far as I've gotten.

Revised Projection: It's finally here!


Controlling the project (My original info can be found here): Everything, from the cues, the material parameters, UV rotation, etc, was controlled with a MIDI file.  Now, for the most part changes in materials and surface visibility were controlled with cues, which themselves were controlled via the file, however a lot of things that reacted to the beat, like the ripples in the water, were controlled via MIDI as well.  This was born out of my own perfectionism and the fact that I often have issues with audio-detection algorithms functioning spottily at best, not at all at worst.  So why would you use a MIDI file?  Because it gives you a finer level of control at the cost of time.

As a warning, this can get very time consuming; about half of the time spent on my project was creating the MIDI file and setting the controls.  Make sure you keep notes on what's controlling what, as having lots of MIDI controls can get messy as well.

This should be fairly program agnostic as all we're doing is making a MIDI file pretend to be a MIDI controller.  The basic steps required to do this are:

1) Find a program that can output MIDI through MIDI.  I think most Digital Audio Workstations (DAWs) can do this (I used REAPER), and there may be some standalone MIDI editors that can do this as well.

2) Download and install a virtual MIDI cable.  Personally I used LoopBe1 since I'm on Windows

3a) Create your MIDI file.  If you're using a DAW then you can place your audio in a separate track from the MIDI track, and use that to help sync the MIDI with the audio.  Additionally, make sure your BPM and time signature match the audio as closely as possible.  This will allow you to snap the MIDI notes to the beat and copy-paste repetitive sections without having to re-sync the notes to the audio.

3b) Create your projection.  Keep in mind your audio and how you have your MIDI notes laid out when you're planning and creating your surfaces, cues and materials.  In some cases (like having things react to a beat) it may be easier to control a surface or material directly with a MIDI file instead of using a cue.  You may even want to allow some things to be controlled by the original audio, in which case you'd probably be best off outputting audio from your DAW into MadMapper (or other program of choice) through a virtual audio cable in the same way we're using the virtual MIDI cable.  That way you can ensure synchronization between the audio and MIDI controlled parameters and cues.

4) Once you have your MIDI file set up, set the MIDI HARDWARE output to the virtual MIDI cable.  Not the audio output, the MIDI HARDWARE OUTPUT.  We want the MIDI file outputting the raw note information as if it was a MIDI controller, not the audio.  In REAPER this can be achieved by going to your mix (at the bottom of the screen), clicking on the "route" button that corresponds to your MIDI track, and then under "Hardware Input" select your virtual MIDI cable (in my case, "Loop Be Internal Midi").

5) In your projection mapping software (in this case, MadMapper), go into your settings and ensure that the virtual MIDI cable (in my case "Loop Be Internal Midi") is present and enabled.

6) Treat the MIDI file like a normal hardware MIDI controller and assign your cues, scenes, material and surface parameters like you normally would for a MIDI controller.

7) Make sure you're outputting your projection to your projector, swap to your DAW, and press play!

Tip: Have some scenes or a row of cues be "reset points" for various stages of your projection.  This will make it easier to preview changes you've made without having to start your projection at the beginning.

Since this is an issue I ran into: Help, I have my virtual MIDI cable set as the hardware MIDI output in my DAW and as an input in my projection mapping software, and I have things set to trigger with notes but nothing's happening! What could be causing this? 

Check and make sure the MIDI channel you're sending from your DAW is the same as the channel you're receiving in your projection mapping software.  This can allow you to have multiple MIDI files loaded accessing the same note without conflicting with each other by putting them on different channels, however it can also be a bit confusing if you're not familiar with it.  However if that doesn't help, all I can suggest is making sure you have your MIDI outputs and inputs enabled and properly configured (and your virtual MIDI cable isn't muted), and that your MIDI controls are set to the notes you've defined.

No comments:

Post a Comment