Author: edenlukejeffrey

  • FMOD Automation | .JS Scripts

    FMOD Automation | .JS Scripts

    Disclaimer, the artwork for this posts thumbnail was generated by AI. If it infringes with anyone’s work, please let me know and I will remove it. Over the last 3 years using FMOD I’ve always looked for ways to refine and improve my workflow. A part of how I was able to achieve this was…

  • Supersonic | Electroacoustic Compositions

    Supersonic | Electroacoustic Compositions

    Transformation Disclaimer, the artwork for these compositions was generated by AI. If it infringes with anyone’s work, please let me know and I will remove them. For my transformation piece I wanted to create the entire track from a single sample. I drew inspiration from Artists such as “KOAN Sound” and “Johann Johannsson”, their works…

  • Experimental Sound Design | NO PIANO

    Experimental Sound Design | NO PIANO

    Project Breakdown This project was submitted for a module assignment in my first year of University, I had a great time creating it so have decided to do a write up here for anyone who may be interested. After coming across the subject video (Tremblay, 2023) for this re-design I came up with a spotting…

  • Post-mortem & references

    Post-mortem & references

    Post Mortem This post-mortem will provide a breakdown of the project’s milestones, highlighting its successes and areas where improvements can be made. This breakdown will serve as a valuable learning opportunity to identify shortcomings to be avoided in future projects. In short, I feel that this project was a success, aided significantly by the amount…

  • Obstruction optimizations & bug fixing

    Obstruction optimizations & bug fixing

    Obstruction Optimization While many of the optimizations created for occlusion are shared with the obstruction system, there are some obstruction-specific optimizations that had to be made to reduce unnecessary overhead. Like occlusion, a movement check is performed before obstruction is calculated to determine whether the player or emitter has moved a greater amount than the…

  • Occlusion / obstruction data interpretation

    Occlusion / obstruction data interpretation

    After gathering all the relevant data from both the occlusion and obstruction systems, the next step is to interpret this data for use with FMOD parameters. The values used to modify occlusion and obstruction processing effects are calculated using various metrics obtained from the previously discussed ‘update’ functions. To calculate the occlusion value, a ratio…

  • Obstruction core functionality

    Obstruction core functionality

    When an important audio source is completely occluded from a listener, it is often due to the emitter being located in a different room or being obstructed in some way. However, occlusion alone does not always produce convincing results when this is not the case. To remedy this, an obstruction value must be calculated to…

  • Optimizing occlusion

    Optimizing occlusion

    When designing the occlusion subsystem, optimization was a constant consideration, integral to every feature. A primary goal was to reduce the number of unnecessary line-cast calls as much as possible. This was achieved through the use of multiple pre-occlusion checks, determining the state of the ‘Dynamic Occlusion State‘. The second and fourth images below depict…

  • Occlusion core functionality

    Occlusion core functionality

    One of the challenges of creating immersive audio propagation is handling occlusion – when the path from an emitter to a listener is blocked. Occlusion can add realism and depth to soundscapes, but it can also be computationally expensive at scale. This scalable audio propagation system aims to be a flexible solution for occlusion, allowing…

  • Core component development

    Core component development

    At the core of the audio propagation system, there are two essential components: the emitter and the director. The emitter is responsible for defining user parameters and calculating instance-specific values needed for occlusion and obstruction. The director is responsible for controlling how the sound sources are processed by the audio engine and contains the majority…