After Ethan’s great work with Python scripting to allow the .csv data to be turned in to animation streams and spline curves in Maya we faced the next two new challenges;
Challenge 1 - Finding True Time: Although the ‘ecs_CsvToMaya.py’ script allowed the data into Maya it had no multiplication factor to make it match ‘true time’. In essence over two hours of data was being compressed in to fifty frames (two seconds).
Challenge 2 – Different lengths of Data: Each data file (.csv) ,Choir Heart Rate, Conductors Feet Movement, etc had a different length (recording time) due to the complexities of setting up devices whilst on location. The Cellist for example was recorded for over two hours but the performance only lasts for one and half hours. This meant that each data stream needed to be aligned and then ‘top and tailed’ to find the concert performance.
Solution - The solution for both problems relied upon finding an anchor point to match each stream. Alongside each data stream we also recorded sepereate audio/video files as reference which meant that we were able to 'stack & achor' each on a timeline in Premiere. To do this we used the end of the performance (last notes) to identify a consistant ‘time based clipping guide’. For example,
Aligned Audio / Visual in Premiere
File Length: 2hrs 15m 27s - Concert Start Time at: 40m 12s - Concert End Time at: 2hrs 5mins 04s
File Length: 2hrs 00m 08s - Concert Start Time at: 26m 24s - Concert End Time at: 1hrs 51mins 28s
File Length: 2hrs 09m 29s - Concert Start Time at: 30m 19s - Concert End Time at: 1hrs 55mins 25s
File Length: 1hrs 25m 39s - Concert Start Time 7s - Concert End Time at: 1hrs 24mins 49s
Once we had this information we were able to calculate that the multiplication factor to unlock true time (per file), was a factor of ‘2.4’. Once this was added to the script we could be sure that anything created in Maya would be a true visual representation of time vs data. Finally, by using the ‘start/end time of the concert’ and Maya’s timeline we were then able to set the time range to the concert only ensuring that each curve or animation generate was clipped to the correct length (‘ecs_CsvToMaya.py’uses the range of the timeline to calculate).
Cellist Arm Data Stream Created Clipped in Maya
Success! - The next step, chopping the concert into sections…